请求额外的权限Facebook SDK 4 iOS

gra*_*ile 3 permissions sdk facebook login

我有一个通过Facebook登录的应用程序.登录时,我只询问"public_profile","user_friends"和"email"权限.我知道我可以在以后要求更多的许可,因为FB说:

"即使有人第一次登录,你的应用也可以随时要求获得额外的权限.例如,publish_actions权限允许你发布到一个人的Facebook时间线.建议你只有当一个人是准备向Facebook发布一个故事."

因此,当我即将发布到用户的墙上时,我想要求"publish_actions".请告诉我如何使用Facebook SDK 4.大多数答案与FBSession,activeSession,requestNewPublishPermissions等有关,但在最新的Facebook SDK(4.1.0)中,没有FBSession类.

ber*_*tin 9

您必须再次调用login方法才能请求其他权限.

FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
[loginManager logInWithPublishPermissions:@[@"publish_actions"]
                                  handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
 {
     if ([result.declinedPermissions containsObject:@"publish_actions"])
     {
         // permission denied
     }
     else
     {
         // do something
     }
 }];
Run Code Online (Sandbox Code Playgroud)