【问题标题】:Facebook iOS SDK: How to handle SKIP button when requesting publish_actions?Facebook iOS SDK:请求 publish_actions 时如何处理 SKIP 按钮?
【发布时间】:2013-07-04 05:51:46
【问题描述】:

我有一个使用“publish_actions”权限登录 Facebook 的代码。 这是sn-p:

NSArray *facebookPermissions = [NSArray arrayWithObjects:@"publish_actions", nil];

[FBSession openActiveSessionWithPublishPermissions:[self facebookPermissions]
                                   defaultAudience:FBSessionDefaultAudienceFriends
                                      allowLoginUI:YES
                                 completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
    NSLog(@">>> Permissions available: %@", FBSession.activeSession.permissions);
}];

当执行该方法时,用户将被重定向到 Mobile Safari Facebook 页面并询问是否允许 facebook 访问他/她的帐户。

屏幕1:

APPNAME would like to access your public profile and friend list.
[CANCEL] [OK]

按下 OK 后,由于我们使用 openActiveSessionWithPublishPermissions 方法,将出现第二个页面,询问是否允许 facebook 代表您发布内容。

屏幕 2:

APPNAME would like to post to your friends on your behalf.
[AUDIENCE] [SKIP] [OK]

棘手的部分是,当用户单击“跳过”按钮时,回调中的日志仍然将'publish_actions'列为可用权限之一。这是不正确的。 error 也为零。如何正确检测到这一点?

这是日志:

2013-07-06 16:35:59.037 FbSandbox[56213:c07] >>> Permissions available: ("publish_actions")

提前致谢!

【问题讨论】:

    标签: ios xcode facebook sdk


    【解决方案1】:

    您可以通过calling me/permissions 验证接受的权限。这将列出用户允许的权限。将此列表与您请求的权限交叉引用,您将能够找出哪些被接受,哪些被跳过。

    【讨论】:

    • 这似乎是答案。绝对糟糕的 API 设计。
    猜你喜欢
    • 2015-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-13
    相关资源
    最近更新 更多