使用Social.framework和SLRequest进行字段扩展

Raf*_*ael 3 cocoa frameworks facebook-graph-api

到目前为止,OS X 10.8.2的Social.Framework运行良好:

NSURL *requestURL = [NSURL URLWithString:@"https://graph.facebook.com/me/friends"];
SLRequest *fbRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook requestMethod:SLRequestMethodGET URL:requestURL parameters:params];
Run Code Online (Sandbox Code Playgroud)

这适当地传递了me()对象的朋友列表.精细!

但是,一旦我尝试使用字段扩展,如下所示,请求失败并显示错误: 必须使用活动访问令牌来查询有关当前用户的信息:

[NSURL URLWithString:@".../friends?fields=cover,picture"];
Run Code Online (Sandbox Code Playgroud)

事实上,这肯定是因为access_token将使用st在内部附加在Social.framework中.类似于"?access_token =%@",它将与之前的?fields =自己一起使用失败.

所以我想知道这是否真的是框架的错误,或者我是否错误地使用它?我真的很感谢任何有用的信息.

Raf*_*ael 5

在直接联系Apple之后,这显然是答案:使用GET参数变量添加字段扩展标记,而不是将它们添加到实际的URL:

SLRequest *fbRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodGET
URL:requestURL
parameters:@{@"fields":@"cover,picture"}];
Run Code Online (Sandbox Code Playgroud)

这很明显,但我没想到:).如果有人可能在将来遇到同样的问题,我会让这个线程成为现实!