1

ユーザーの Facebook アクセス トークンが何らかの理由 (Facebook Web サイトからアプリを削除するか、Facebook 設定からアプリのアクセスを削除する) で無効になると、何をしても新しいトークンを取得できません!

これまでのところ、2 つの方法を試しました: (sharedFaceBookManager は Facebook を管理するシングルトンです)

1) [sharedFaceBookManager.facebook extendAccessToken];

これは初めて「無効化」が発生したときに機能し、アプリは FB のアプリを開き、ユーザーに必要なものを要求し、安全で健全なアプリに戻ります...アクセス トークンが無効な 2 回目は、extendAccessToken がハングしますユーザーは Facebook からログインできなくなります。Not a good Solution.

2) Cookie の削除、Facebook からの切断、および再接続を試みています。

for(NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) {

    if([[cookie domain] isEqualToString:@"facebook"]) {

        [[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie];
    }
}

// Reconnecting:
NSArray *permissions = [NSArray arrayWithObjects:@"email", @"read_friendlists", @"user_photos", @"user_events", nil];
[FBSession openActiveSessionWithReadPermissions:permissions
                                   allowLoginUI:YES
                              completionHandler:
 ^(FBSession *session,
   FBSessionState state, NSError *error) {
     [[EWFacebookManager sharedFaceBookManager] sessionStateChanged:session state:state error:error];
 }];

This Only returns a Call to - (void)sessionStateChanged: with:FBSessionStateOpenand the Apps Deals with this as if Login Succeeded, Result: ENDLESS LOOP (Login Success - Login Failed) NOT A GOOD SOLUTION!

I Know I Shouldn't call extendAccessToken when the Token is invalid, I Should Prompt the User to Login Again

ANYBODY? Please? We've even turned to an outsourcing company to help us deal with this and NO BREAK THROUGH!

4

2 に答える 2