为啥iOS上的FB SDK要求朋友列表的权限,而应用程序不要求它

Posted

技术标签:

【中文标题】为啥iOS上的FB SDK要求朋友列表的权限,而应用程序不要求它【英文标题】:Why FB SDK on iOS asks for permission for Friend List, when app does not ask for it为什么iOS上的FB SDK要求朋友列表的权限,而应用程序不要求它 【发布时间】:2016-10-25 12:25:00 【问题描述】:

当用户尝试使用 Facebook 应用登录时,会显示警报:

“应用名称”想访问您的基本个人资料信息和好友列表

即使我没有在应用内询问朋友列表。 这就是我提出请求的方式:

fbLogin.logInWithReadPermissions(["email", "public_profile", "user_birthday"], fromViewController: vc)  (result, error) in

而且我没有在应用程序的任何地方使用 user_friends。

【问题讨论】:

【参考方案1】:

Facebook默认会读取正在使用您的应用的朋友列表。请查看 Facebook 开发者门户。

更新:

- (IBAction)loginClicked:(id)sender 

    FBSDKLoginManager *login = [[FBSDKLoginManager alloc] init];
    [login
     logInWithReadPermissions: @[@"public_profile", @"email", @"user_birthday"]
     fromViewController:self
     handler:^(FBSDKLoginManagerLoginResult *result, NSError *error) 
         if (error) 
             NSLog(@"Process error");
          else if (result.isCancelled) 
             NSLog(@"Cancelled");
          else 
             NSLog(@"Logged in");
             NSLog(@"Result : %@", result);
         
     ];

【讨论】:

是的,看来我无法删除它? 在developers.facebook.com/apps 中创建一个新应用并设置为已上线,然后立即尝试。 因为我的好友列表没有显示权限。 刚刚做了,要么可以打开包括朋友在内的所有权限,要么没有。 是否可以从权限弹出窗口中删除“朋友列表”(我使用了 ACAccountStore)?

以上是关于为啥iOS上的FB SDK要求朋友列表的权限,而应用程序不要求它的主要内容,如果未能解决你的问题,请参考以下文章

如何在 iOS 9 fb sdk 4.8 或更高版本中从 facebook 获取好友列表?

FB iOS SDK 3.2:为啥我需要访问令牌来记录转换像素?

我可以同时使用 FB iOS SDK 和 FB Graph API 来检索 FB 好友列表吗?

读取权限后直接请求发布权限 - 适用于 iOS 6 的 Facebook SDK

为啥 Facebook 登录没有要求正确的权限?

缩小了最后一个 FB iOS SDK 的 iOS 9 上的 Facebook 应用邀请