2

我正在观察以下......

我通过以下方式对用户进行身份验证(请注意,在完成块中我正在记录权限)

 NSArray *permissions = [[NSArray alloc] initWithObjects:
                        @"email", @"publish_actions",
                        nil];

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

作为用户,我启动应用程序并继续使用 FB 登录。

  1. 我看到了一个屏幕,上面写着“应用程序想要访问你的公开个人资料、朋友列表和电子邮件地址”。我选择“确定”

  2. 我看到一个屏幕,上面写着“应用程序想代表您向您的朋友发布”,然后我选择“跳过”。

3)完成块代码吐出权限如下

权限(电子邮件,“publish_actions”)

为什么列出了 publish_actions?如果我现在尝试通过应用程序发布到 FB,它会出错并告诉我我没有正确的权限......但是我无法检查这种情况 b/c FBSession.activeSession.permissions 告诉我即使实际上我没有,我也有“publish_actions”权限。

我在这里想念什么?

4

1 回答 1

0

如果您使用的是iOS SDK 3.0,那么这是由于 SDK 中的错误。有关更多详细信息,请参阅错误报告

症状总结:

使用 openActiveSessionWithPermissions 方法授权用户后,回调方法中的会话变量包含用户不允许的扩展权限。

于 2014-04-30T06:41:42.533 回答