【问题标题】:Request additional permission Facebook SDK 4 iOS请求额外权限 Facebook SDK 4 iOS
【发布时间】:2015-07-12 00:49:34
【问题描述】:

我有一个通过 facebook 登录的应用程序。当它登录时,我只要求“public_profile”、“user_friends”和“email”权限。正如 FB 所说,我知道我可以稍后请求更多许可:

“您的应用可以随时请求其他权限,即使是在用户第一次登录之后。例如,publish_actions 权限允许您发布到某人的 Facebook 时间线。建议您仅在以下情况下请求此权限某人已准备好向 Facebook 发布故事。”

所以当我要发布到用户的墙上时,我想询问“publish_actions”。请告诉我如何使用 Facebook SDK 4 进行操作。大多数答案与 FBSession、activeSession、requestNewPublishPermissions 等有关,但在最新的 Facebook SDK (4.1.0) 中,没有 FBSession 类。

【问题讨论】:

    标签: facebook login sdk permissions


    【解决方案1】:

    对于 Parse Developer,它可以是一个答案。

    PFFacebookUtils.linkUserInBackground(user, withPublishPermissions: ["publish_actions"], {
      (succeeded: Bool?, error: NSError?) -> Void in
      if succeeded {
        println("User now has read and publish permissions!")
      }
    })
    

    但我仍在寻找更通用的解决方案

    【讨论】:

      【解决方案2】:

      你必须再次调用登录方法来请求另一个权限。

      FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
      [loginManager logInWithPublishPermissions:@[@"publish_actions"]
                                        handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
       {
           if ([result.declinedPermissions containsObject:@"publish_actions"])
           {
               // permission denied
           }
           else
           {
               // do something
           }
       }];
      

      【讨论】:

      • 但它再次向我展示了 Safari 网络视图控制器。有没有办法在不显示 safari web view 的情况下做到这一点?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-08-11
      • 1970-01-01
      • 1970-01-01
      • 2014-10-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多