【问题标题】:Facebook SDK iOS - error while requesting publish permission after opening the session with read permissionsFacebook SDK iOS - 打开具有读取权限的会话后请求发布权限时出错
【发布时间】:2015-03-18 01:11:27
【问题描述】:

我的情况如下:

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

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

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

【问题讨论】:

  • (void)requestNewReadPermissions – 注意里面的 Read 是怎么写的……?
  • 我在输入初始问题时犯了一个错误,所以我更正了。我仍然遇到同样的错误。请帮忙!

标签: ios permissions facebook-permissions facebook


【解决方案1】:

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

     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.


                                           }];
     }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多