我有一个使用“publish_actions”权限登录 Facebook 的代码。 这是片段:
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]
按确定后,由于我们使用 openActiveSessionWithPublishPermissions 方法,将出现第二个页面询问是否允许 facebook 代表您发布内容。
屏幕 2:
APPNAME would like to post to your friends on your behalf.
[AUDIENCE] [SKIP] [OK]
棘手的部分是,当用户点击 SKIP 按钮时,回调中的日志仍然将 'publish_actions'
列为可用权限之一。这是不正确的。
error
也是零。我该如何正确检测到这一点?
这是日志:
2013-07-06 16:35:59.037 FbSandbox[56213:c07] >>> Permissions available: ("publish_actions")
提前致谢!
最佳答案
您可以通过 calling 验证接受的权限我/权限
。这将列出用户允许的权限。将此列表与您请求的权限进行交叉引用,您将能够找出哪些已被接受,哪些已被跳过。
关于ios - Facebook iOS SDK : How to handle SKIP button when requesting publish_actions?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17500529/