2

当我尝试使用 Facebook iOS SDK 登录时,我收到错误操作无法完成(com.facebook.sdk 错误 2)。

会话的状态是:FBSessionStateClosedLoginFailed。

这是我现在的代码:

-(void) callFBService{

    NSArray *permissions = [[NSArray alloc] initWithObjects:@"email, publish_stream, user_likes, friends_likes", nil];
    [FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:YES
                              completionHandler:^(FBSession *fbsession,
                                                  FBSessionState status,
                                                  NSError *error) {
          if(error)
          {
              NSLog(@"Session error");
              [self fbResync];
              [NSThread sleepForTimeInterval:0.5];   //half a second
              [FBSession openActiveSessionWithReadPermissions:permissions
                                                 allowLoginUI:YES
                                            completionHandler:^(FBSession *fbsession, FBSessionState status, NSError *error) {
                                                [self sessionStateChanged:fbsession state:status error:error];
                                            }];

          }
          else
              [self sessionStateChanged:fbsession state:status error:error];

     }];
}

我已经尝试了以下帖子中的所有内容:

操作无法完成。(com.facebook.sdk 错误 2。) ios6 Facebook 注册:操作无法完成(com.facebook.sdk 错误 2) Facebook SDK 3.1 iOS:如果用户从 Facebook 设置中删除应用程序,则处理登录

有任何想法吗???请!

4

1 回答 1

2

publish_stream以读取权限传入,但publish_stream具有写入权限。它也已被弃用(publish_actions改为使用)。尝试删除该权限。在您让用户以读取权限登录后,您需要单独请求该权限。请参阅 SDK 文档:https ://developers.facebook.com/docs/technical-guides/iossdk/login/#read

此外,还有几件事要检查: 确保您在 Facebook.com 上的应用配置正确,包括捆绑 ID。确保您尝试登录的用户拥有应用程序的权限(如果应用程序处于沙盒模式,请确保将用户添加为测试人员并已批准此操作)。

于 2013-08-05T20:32:34.293 回答