要在登录android期间请求facebook publish_actions权限我做
loginButton = (LoginButton) view.findViewById(R.id.login_button);
loginButton.setPublishPermissions(“publish_actions”);
loginButton.setUserInfoChangedCallback(new LoginButton.UserInfoChangedCallback() {
@Override
public void onUserInfoFetched(GraphUser user) {
FacebookOptInFragment.this.user = user;
updateUI();
}
});
这就是我需要做的所有事情。用户将首先登录,然后被提示授予发布权限。我如何在iOS中做同样的事情?
请注意,我刚刚下载了Facebook SDK,这意味着我拥有最新且最好的(如果相关)。
答案 0 :(得分:0)
有些documentation首先
在登录期间使用publish_actions请求发布权限 在登录UI中创建第二步。所以你应该要求最低限度 登录期间读取权限然后请求任何其他或发布 当某人真正需要它们时的权限。优化你的 权限请求,请参阅优化权限。
因此,如果您只需要授权您的iOS应用并授予publish_actions
权限,并且您真的想要与iOS Facebook帐户集成,那么在您要求获得发布权限之前,您必须要求阅读权限。请参阅上面页面链接的Request at Login portion
以获取读取权限。
然后,您可以请求publish_actions
的其他权限,例如
// Request publish_actions
[FBSession.activeSession requestNewPublishPermissions:[NSArray arrayWithObject:@"publish_actions"]
defaultAudience:FBSessionDefaultAudienceFriends
completionHandler:^(FBSession *session, NSError *error) {
__block NSString *alertText;
__block NSString *alertTitle;
if (!error) {
if ([FBSession.activeSession.permissions
indexOfObject:@"publish_actions"] == NSNotFound){
// Permission not granted, tell the user we will not publish
alertTitle = @"Permission not granted";
alertText = @"Your action will not be published to Facebook.";
[[[UIAlertView alloc] initWithTitle:alertTitle
message:alertText
delegate:self
cancelButtonTitle:@"OK!"
otherButtonTitles:nil] show];
} else {
// Permission granted, publish the OG story
[self publishStory];
}
} else {
// There was an error, handle it
// See https://developers.facebook.com/docs/ios/errors/
}
}];
检查文档的this部分以进行权限管理