相关疑难解决方法(0)

使用Facebook iOS 3.1.1 SDK中的FBSession openActiveSessionWithReadPermissions处理无效的accessToken

在此之前,我已经阅读了这个和这个问题,以解决下面的问题,然后再询问.

我的问题是,当accessToken过期时(或者因为过期日期过去,或者通过从我的Facebook的App Center中删除应用程序而手动操作),以下代码:

if ([[FBSession activeSession] isOpen]) {
        //do something
    }
else {
        [FBSession openActiveSessionWithReadPermissions:nil allowLoginUI:YES completionHandler:^(FBSession *session, FBSessionState status, NSError *error) {
            if(FB_ISSESSIONOPENWITHSTATE(status)) {
                //do something
            }
          }
       }];
     }
Run Code Online (Sandbox Code Playgroud)

在FBSession.activeSession打开的情况下进入else块,但是当执行'do something'时,accessToken无效,因此请求获得错误:HTTP状态代码:400.当我尝试立即执行整个过程两次时,FBSession请求权限(UIAlertView for iOS6集成了facebook,Facebook App或Safari网站),其余的运行顺畅.

我担心的是为什么我必须做两次才能正常工作以及为什么Facebook SDK第一次无法检测到activeSession和accessToken无效.

谢谢大家!

facebook objective-c ios facebook-ios-sdk

15
推荐指数
1
解决办法
1万
查看次数

标签 统计

facebook ×1

facebook-ios-sdk ×1

ios ×1

objective-c ×1