请求额外权限 Facebook SDK 4 iOS
Request additional permission Facebook SDK 4 iOS
我有一个通过 facebook 登录的应用程序。当它登录时,我只请求 "public_profile"、"user_friends" 和 "email" 权限。我知道稍后我可以请求更多许可,正如 FB 所说:
"Your app can ask for additional permissions at any time, even after a person logs in for the first time. For example, the publish_actions permission lets you post to a person's Facebook Timeline. It's recommended you ask for this permission only when a person is ready to publish a story to Facebook."
所以当我要post到用户墙的时候,我想问一下"publish_actions"。请告诉我如何使用 Facebook SDK 4 做到这一点。大多数答案与 FBSession、activeSession、requestNewPublishPermissions 等有关,但在最新的 Facebook SDK (4.1.0) 中,没有 FBSession class.
对于Parse Developer,可以是一个答案。
PFFacebookUtils.linkUserInBackground(user, withPublishPermissions: ["publish_actions"], {
(succeeded: Bool?, error: NSError?) -> Void in
if succeeded {
println("User now has read and publish permissions!")
}
})
但我仍在寻找更通用的解决方案
您必须再次调用登录方法来请求另一个权限。
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
}
}];
我有一个通过 facebook 登录的应用程序。当它登录时,我只请求 "public_profile"、"user_friends" 和 "email" 权限。我知道稍后我可以请求更多许可,正如 FB 所说:
"Your app can ask for additional permissions at any time, even after a person logs in for the first time. For example, the publish_actions permission lets you post to a person's Facebook Timeline. It's recommended you ask for this permission only when a person is ready to publish a story to Facebook."
所以当我要post到用户墙的时候,我想问一下"publish_actions"。请告诉我如何使用 Facebook SDK 4 做到这一点。大多数答案与 FBSession、activeSession、requestNewPublishPermissions 等有关,但在最新的 Facebook SDK (4.1.0) 中,没有 FBSession class.
对于Parse Developer,可以是一个答案。
PFFacebookUtils.linkUserInBackground(user, withPublishPermissions: ["publish_actions"], {
(succeeded: Bool?, error: NSError?) -> Void in
if succeeded {
println("User now has read and publish permissions!")
}
})
但我仍在寻找更通用的解决方案
您必须再次调用登录方法来请求另一个权限。
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
}
}];