【问题标题】:"[[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"]" always return false"[[FBSDKAccessToken currentAccessToken] hasGranted:@"publish_actions"]" 总是返回 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版本解决。

标签: ios objective-c parse-platform facebook-sdk-4.0 facebook-permissions


【解决方案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 属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-10-10
      • 1970-01-01
      • 2016-01-02
      • 1970-01-01
      • 2016-07-20
      • 2021-11-05
      • 2018-11-05
      相关资源
      最近更新 更多