"[[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"]" 总是返回 fal
Posted
技术标签:
【中文标题】"[[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"]" 总是返回 false【英文标题】:"[[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"]" always return false 【发布时间】:2015-05-09 17:36:54 【问题描述】:我正在尝试验证我是否拥有publish_actions
权限。总是假的。即使我请求并获得publish_actions
并获得succeeded=TRUE
,重新验证仍然返回false。
有什么想法吗?
bool bGranted_publish_actions=[[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"];
bool bGranted_user_photos=[[FBSDKAccessToken currentAccessToken] hasGranted:@"user_photos"];
if (!bGranted_user_photos || !bGranted_publish_actions )
[PFFacebookUtils linkUserInBackground:[PFUser currentUser] withPublishPermissions:@[@"publish_actions"] block:^(BOOL succeeded, NSError *error)
if (succeeded)
bool bGranted_publish_actionsV2=[[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"];
【问题讨论】:
在这里也一样。 @Franck 你找到解决方案了吗? 仍然没有解决办法。 :( 我在developers.facebook.com/bugs/713281905449321 上发布了一个错误报告。我可以建议您发布回复以确认您也复制吗?!它可以帮助:) Parse sdk version 1.7.3版本解决。 【参考方案1】:在 Parse sdk 版本 1.7.3 版本中解决。
【讨论】:
【参考方案2】:Franck 在上面的评论中提供的链接表明这是一个 Facebook 错误。等待下一个版本。
同时,这里有一个解决方法。
解决方法
在对当前访问令牌调用刷新后保留一组权限。您可以将它们保存在AppDelegate
或仅在处理 facebook 的类中。
[FBSDKAccessToken refreshCurrentAccessToken:^(FBSDKGraphRequestConnection *connection, id result, NSError *error)
NSDictionary *resultDictionary = (NSDictionary *) result;
NSArray *permissionsArray= [resultDictionary objectForKey:@"data"];
NSMutableSet *permissionsSet = [NSMutableSet new];
for (NSDictionary *permissionDic in permissionsArray)
if ([[permissionDic objectForKey:@"status"] caseInsensitiveCompare:@"granted"] == NSOrderedSame)
[permissionsSet addObject:[permissionDic objectForKey:@"permission"]];
blockSelf.permissions = permissionsSet;
];
注意 - blockSelf.permissions
是调用刷新的对象上的 NSSet
属性。
【讨论】:
以上是关于"[[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"]" 总是返回 fal的主要内容,如果未能解决你的问题,请参考以下文章
ios Facebook 登录 - FBSDKAccessToken 为零
无法在 swift 3 / FBSDK 4.17 中正确检索 FBSDKAccessToken 当前令牌
斯威夫特:我必须调用 Facebook 登录按钮两次才能获得 FBSDKAccessToken
无法通过 iphone sdk 中的 [FBSDKAccessToken currentAccessToken] 获取访问令牌