Facebook SDK iOS - 在打开具有读取权限的会话后请求发布权限时出错

时间:2015-01-19 22:31:26

标签: ios permissions facebook-permissions facebook

我的情况如下:

  1. 首先,用户通过请求读取权限user_friendsemail成功登录Facebook。我正在使用openWithBehavior:FBSessionLoginBehaviorUseSystemAccountIfPresent方法登录。所有相关用户数据和有关用户登录的FB朋友的信息都已成功处理
  2. 然后,当用户点击按钮时,需要发布权限publish_actions。我已经读过reauthorizeWithPublishPermissions方法已被弃用,所以我尝试使用推荐的requestNewPublishPermissions:defaultAudience:completionHandler:方法,最后我发现错误消息:
  3.   

    FBSDKLog:FBSession:发布或管理权限的权限请求包含意外的读取权限

    那么,我做错了什么?我应该注销,然后再通过请求发布权限再次登录吗? 或者我应该在Application Dashboard上设置一些额外的参数?我应该以某种方式明确切换到沙箱,因为我的应用程序已经在AppStore上了吗? (我知道,由于请求publish_actions权限,我的应用的下一版本必须由FB审核。)

1 个答案:

答案 0 :(得分:0)

  

请求权限后,请使用以下代码。

     if ([[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"]) {
         // TODO: publish content.

     } else {
         FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
         [loginManager logInWithPublishPermissions:@[@"publish_actions"]
                                fromViewController:self
                                           handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
                                               //TODO: process error or result.


                                           }];
     }