Jun*_*med 2 objective-c facebook-graph-api ios facebook-ios-sdk
我试图通过此代码访问我自己的Facebook好友列表,结果JSON不返回任何数据.
FBRequest *request = [FBRequest requestWithGraphPath:@"me/friends" parameters:nil HTTPMethod:@"GET"];
Run Code Online (Sandbox Code Playgroud)
我设置了这样的权限(我正在使用PARSE)
[PFFacebookUtils linkUser:[PFUser currentUser] permissions:@[@"user_friends"] block:^(BOOL succeeded, NSError *error)
Run Code Online (Sandbox Code Playgroud)
我错过了什么吗?
你在使用API的V2吗?Facebook最近做了一个很大的改变,所以这个API调用现在只返回使用了发出请求的应用程序的朋友.换句话说,您无法获取整个朋友列表,只能访问正在使用相关应用的朋友.
更多信息:
https://developers.facebook.com/docs/graph-api/reference/v2.0/user/friends
您可以使用页面右上角的下拉菜单看到版本1.0和版本2.0之间的区别.
如果您使用的是新的2.0 iOS SDK,请FBRequest使用实例方法为特定请求使用不同版本的API.
在这种情况下,在您启动请求之前,您可以这样做
[request overrideVersionPartWith:@"v1.0"];
Run Code Online (Sandbox Code Playgroud)
正如在v1.0页面上所述:
用户使用2.0版(或更高版本)登录应用程序后,为v1.0调用此边缘将继续返回更高版本的响应.
基本上,为了使这项工作,您的登录方法也必须是旧的.
如果这是您需要的功能,取决于您计划支持此应用程序的时间长短,更简单的选择可能只是使用旧版本的Facebook SDK,至少暂时如此.它将在大约一年内得到支持,此时您的要求可能会发生变化,因此您可以更新,或者Facebook可能会为我们提供再次获取用户的整个朋友列表的能力,但遗憾的是这种情况不太可能.
使用旧API的最后一个版本是3.13.1.
您可以使用其他一些可能的选项,具体取决于您尝试对朋友列表执行的操作.这个网站上的其他答案中有很多信息,这里有一个很好的讨论.
西蒙克罗斯指出了一些我不知道的信息.如果您的应用是在2014年4月30日之后创建的,则无论SDK版本还是其他任何内容,您都无法使用v1.0 API.所以基本上,这种解决方法仅适用于在4月30日之前已经在他们的app中使用1.0 API的人.
| 归档时间: |
|
| 查看次数: |
2147 次 |
| 最近记录: |