Facebook好友列表图形API在iOS上返回零

Facebook好友列表图形API在iOS上返回零,ios,objective-c,facebook-graph-api,facebook-ios-sdk,Ios,Objective C,Facebook Graph Api,Facebook Ios Sdk,我试图通过这段代码访问我自己的Facebook好友列表,结果JSON不会返回任何数据 FBRequest *request = [FBRequest requestWithGraphPath:@"me/friends" parameters:nil HTTPMethod:@"GET"]; 我正在像这样设置权限(我正在使用解析) 我遗漏了什么吗?您使用的是API的V2吗?Facebook最近做了一个很大的改变,所以这个API调用现在只返回使用了发出请求的应用程序的朋友。换句话说,你无法获取你的全

我试图通过这段代码访问我自己的Facebook好友列表,结果JSON不会返回任何数据

FBRequest *request = [FBRequest requestWithGraphPath:@"me/friends" parameters:nil HTTPMethod:@"GET"];
我正在像这样设置权限(我正在使用解析)


我遗漏了什么吗?

您使用的是API的V2吗?Facebook最近做了一个很大的改变,所以这个API调用现在只返回使用了发出请求的应用程序的朋友。换句话说,你无法获取你的全部好友列表,只能获取正在使用该应用程序的好友

更多信息请点击此处:

您可以使用页面右上角的下拉列表查看版本1.0和版本2.0之间的差异

如果您使用的是新的2.0 iOS SDK,
FBRequest
有一个实例方法,可以为特定请求使用不同版本的API

在这种情况下,在启动请求之前,您可以执行以下操作

[request overrideVersionPartWith:@"v1.0"];
但是,正如报告中所述:

一旦用户使用2.0版(或更高版本)登录应用程序, 为v1.0调用此边缘将继续返回更高版本的 答复

基本上,为了使这项工作,您的登录方法也必须是旧的

如果这是您需要具备的功能,取决于您计划支持此应用的时间长短,一个更简单的选择可能是使用较旧版本的Facebook SDK,至少目前是这样。它将在大约一年内得到支持,届时您的需求可能会发生变化,您可以进行更新,或者Facebook可能会为我们提供再次获取用户完整好友列表的功能,不幸的是,这是不太可能的

使用旧API的最后一个版本是
3.13.1

您还可以使用其他一些可能的选项,具体取决于您尝试对好友列表执行的操作。在这个网站的其他答案中有很多信息

编辑
西蒙·克罗斯指出了一些我不知道的信息。如果您的应用程序是在2014年4月30日之后创建的,则无论SDK版本或其他任何内容,您都无法使用v1.0 API。因此,基本上,此解决方案仅适用于4月30日之前已经在应用程序中使用1.0 API的用户。

谢谢您的帮助。这太糟糕了!!我想我必须使用FBWebDialogs发送应用程序邀请。有没有教程可以告诉我如何邀请我的朋友加入该应用程序?请注意,2014年4月30日之后创建的应用程序可能不会调用Graph API的v1-即使您在覆盖字符串中传递了“v1.0”,您仍然会得到版本2.0的行为。请看:@SimonCross我甚至在使用旧SDK时都没有意识到这一点。这是不幸的。我将编辑我的答案。请参阅:
[request overrideVersionPartWith:@"v1.0"];