我正在尝试遵循Facebook SDK 3.1教程:美味佳肴,并将FB集成到我的应用程序中。
- (BOOL)openSessionWithAllowLoginUI:(BOOL)allowLoginUI {
NSArray *permissions = @[@"email"];
return [FBSession openActiveSessionWithReadPermissions:permissions
allowLoginUI:allowLoginUI
completionHandler:^(FBSession *session, FBSessionState state, NSError *error) {
[self sessionStateChanged:session state:state error:error];
}];
我想添加额外的权限,但是在身份验证中只显示基本信息,如下图所示:
我还使用了已弃用的方法,但结果相同:
[FBSession openActiveSessionWithPermissions:permissions allowLoginUI:allowLoginUI completionHandler:^(FBSession *session, FBSessionState state, NSError *error) { [self sessionStateChanged:session state:state error:error];
}];
我从这里找到了一个临时解决方案,可以在其他地方使用
reauthorizeWithPublishPermissions
。用户需要登录facebook两次才能读取用户电子邮件。
是否有一种方法可以仅需一次就完成操作?
谢谢您的帮助!
编辑:在stackoverflow上的另一个帖子中,使用openActiveSessionWithPublishPermissions
仍然会产生与屏幕截图相同的结果。