Facebook SDK 4.0:要求发布
我使用FBSDKLoginButton在我的应用程序中通过Facebook登录。 那么我将readPermissions定义为;
NSArray *permissions = [NSArray arrayWithObjects:@"public_profile", @"email",nil];
self.loginFbBtn.readPermissions = permissions;
以上都很好。 但是现在,如果我需要向我的时间表请求权限并希望获得“ publish_actions ”权限,是否有办法在不实际激发FBSDKLoginManager的情况下询问这些权限 ,因为这是Facebook文档中给出的唯一方法:
if ([[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"]) {
// TODO: publish content.
} else {
FBSDKLoginManager *loginManager = [[FBSDKLoginManager alloc] init];
[loginManager logInWithPublishPermissions:@[@"publish_actions"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) {
//TODO: process error or result.
}];
}
显然这是您可以为您的应用程序调用“ publish_actions ”的唯一方法。 我想在没有FBSDKLoginManager的情况下使用它。 请帮助,我需要这个滚动。
所以这是更新:
在Wizkid和MingLi的帮助下,我最终通过FBSDKLoginManager实现了它,以下代码段用于通过自定义按钮及其@selector(facebookLogin)
进行Facebook登录,然后在通过方法getSharingPermissions
需要共享时调用共享权限:
-(void) facebookLogin
{
@try
{
self.loginManager = [[FBSDKLoginManager alloc] init];
[self.loginManager setLoginBehavior:FBSDKLoginBehaviorWeb];
[self.loginManager logInWithReadPermissions:@[@"public_profile",@"email"] handler:^(FBSDKLoginManagerLoginResult *result,NSError *error)
{
if([FBSDKAccessToken currentAccessToken])
{
[[[FBSDKGraphRequest alloc] initWithGraphPath:@"me" parameters:nil]
startWithCompletionHandler:^(FBSDKGraphRequestConnection *connection, id result, NSError *error)
{
if (!error)
{
NSLog(@"fetched user:%@", result);
NSDictionary *userDict = (NSDictionary*)result;
}
}];
}}];
}
}
@catch (NSException *exception)
{
NSLog(@"Exception %@", exception);
}
获取共享权限:
-(void)getSharePermissions
{
if (![[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"])
{
[self.loginManager setLoginBehavior:FBSDKLoginBehaviorWeb];
[self.loginManager logInWithPublishPermissions:@[@"publish_actions"] handler:^(FBSDKLoginManagerLoginResult *result, NSError *error)
{
if ([result.grantedPermissions containsObject:@"publish_actions"])
{
}}];
}
}
所以错误是我再次获取登录页面,并且在getSharingPermissions
时再次询问用户凭证。 请帮忙。 提前致谢。
上一篇: Facebook SDK 4.0: Asking publish
下一篇: action permission only for pages and not for user timeline