我有一个使用“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]
按下 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")
提前致谢!