验证 Facebook publish_actions 权限时遇到问题
Posted
技术标签:
【中文标题】验证 Facebook publish_actions 权限时遇到问题【英文标题】:Trouble verifying Facebook publish_actions permission 【发布时间】:2015-03-06 17:50:21 【问题描述】:我已成功登录 Facebook 并请求获得 publish_actions 权限。已授予权限,因为我可以很容易地在 https://www.facebook.com/settings?tab=applications
上进行验证,也可以通过调用
-(void) whatPermissionsDoIHave
[FBRequestConnection startWithGraphpath:@"/me/permissions"
completionHandler:^(
FBRequestConnection *connection,
NSDictionary* result,
NSError *error
)
//do checks in here
];
所以我确定我有权限。但是,每当需要分享时,我的权限检查都会返回 false。我现在将显示我的权限检查
+ (BOOL)hasWritePermissions
if (!FBSession.activeSession.isOpen) return NO;
NSLog(@"So the session is at least open");
return [FBSession.activeSession.permissions indexOfObject:@[@"publish_actions"]] != NSNotFound;
所以我错过了其他东西吗?也许我应该在 AppDelegate 中做些什么?感谢您提供任何见解。
现在我在 AppDelegate 中进行的唯一调用是
- (BOOL)application:(UIApplication *)application
openURL:(NSURL *)url
sourceApplication:(NSString *)sourceApplication
annotation:(id)annotation
// attempt to extract a token from the url
return [FBAppCall handleOpenURL:url
sourceApplication:sourceApplication
fallbackHandler:^(FBAppCall *call)
NSLog(@"In fallback handler");
];
【问题讨论】:
【参考方案1】:权限属性是一个字符串数组,但您在另一个数组上调用 indexOfObject,这可能是它找不到它的原因。试试这个:
return [FBSession.activeSession.permissions indexOfObject:@"publish_actions"] != NSNotFound;
【讨论】:
以上是关于验证 Facebook publish_actions 权限时遇到问题的主要内容,如果未能解决你的问题,请参考以下文章
用户手机号码不通过 Facebook 帐户验证,仅在使用帐户 Facebook 套件时通过短信验证
Facebook iOS SDK 和护照-facebook 身份验证
我可以使用啥密钥来验证 Facebook 登录生成的 Firebase 身份验证令牌
Facebook 聊天 - X-FACEBOOK-PLATFORM 身份验证