Facebook requestForMyFriends 不返回朋友数据[重复]

Posted

技术标签:

【中文标题】Facebook requestForMyFriends 不返回朋友数据[重复]【英文标题】:Facebook requestForMyFriends returns no friends data [duplicate] 【发布时间】:2014-09-01 22:23:01 【问题描述】:

我使用 FBRequest 请求用户的好友列表。

FBRequest *requestFriendList = [FBRequest requestForMyFriends];
[requestFriendList startWithCompletionHandler:^(FBRequestConnection *connection, id result, NSError *error)
                 if (!error)
                 
                     NSArray *fbFriends = [result objectForKey:@"data"];
                     //...
                 
             ];

但是,请求返回的结果没有包含任何数据。我打印了结果,里面有好友数,但是里面没有数据。

Printing description of result:

    data =     (
    );
   summary =     
        "total_count" = 585;
    ;

如果请求失败或应用程序没有权限,它应该返回错误还是“total_count”也不显示?

那么我做错了什么吗?谁能帮我解决这个问题?

谢谢!!

【问题讨论】:

您需要请求user_friends 许可;当然,正如过去两个月没有陷入昏迷的每个人都知道的那样,使用 API v2,您的应用将只能看到也是该应用用户的用户的朋友。 【参考方案1】:

Graph API 2.0 改变了 /friends 端点的行为。 它现在返回已授权您的 Facebook 应用程序的朋友列表,而不是完整的朋友列表。这也是一个新的权限 - user_friends。 来自Facebook Platform Changelog:

好友列表不再是默认权限集的一部分,并且具有 它自己的权限:现在要求访问一个人的朋友列表 您的应用必须请求的单独权限。新的权限 被称为 user_friends。

好友列表现在只返回同样 使用您的应用程序:通过 /me/friends 返回的朋友列表 端点现在仅限于已授权的朋友列表 你的应用程序。

【讨论】:

所以只有使用我的应用程序的朋友才会使用“user_friends”请求显示?谢谢! 是的,没错!再也无法获得完整的朋友列表了。 请看***.com/a/23458421/3052059。 试试这个 FBRequest *friendsRequest = [FBRequest requestWithGraphpath:@"me?fields=friends.fields(first_name,last_name,email)" 参数:nil HTTPMethod:@"GET"];

以上是关于Facebook requestForMyFriends 不返回朋友数据[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Facebook版权问题(不是facebook lite)

Facebook SDK 3.5.1 无法在 Facebook 登录时打开 Facebook 应用

facebook页面无法显示技术性错误

facebook怎么验证?

在 Facebook SDK Android 上找不到文件“com.facebook.android.facebook”

facebook app界面优缺点