我的情况如下:
user_friends
和email
成功登录Facebook。我正在使用openWithBehavior:FBSessionLoginBehaviorUseSystemAccountIfPresent
方法登录。所有相关用户数据和有关用户登录的FB朋友的信息都已成功处理publish_actions
。我已经读过reauthorizeWithPublishPermissions
方法已被弃用,所以我尝试使用推荐的requestNewPublishPermissions:defaultAudience:completionHandler:
方法,最后我发现错误消息:FBSDKLog:FBSession:发布或管理权限的权限请求包含意外的读取权限
那么,我做错了什么?我应该注销,然后再通过请求发布权限再次登录吗?
或者我应该在Application Dashboard上设置一些额外的参数?我应该以某种方式明确切换到沙箱,因为我的应用程序已经在AppStore上了吗?
(我知道,由于请求publish_actions
权限,我的应用的下一版本必须由FB审核。)
答案 0 :(得分:0)
请求权限后,请使用以下代码。
if ([[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"]) {
// TODO: publish content.
} else {
FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
[loginManager logInWithPublishPermissions:@[@"publish_actions"]
fromViewController:self
handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
//TODO: process error or result.
}];
}