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

时间:2013-01-29 00:26:09

标签: cocoa facebook-graph-api frameworks

到目前为止,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];

这正确地传递了me()对象的朋友列表。精细!

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

[NSURL URLWithString:@".../friends?fields=cover,picture"];

这肯定是因为access_token将使用st。在内部附加在Social.framework中。类似于“?access_token =%@”,它将与我以前的?fields = 一起使用失败。

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

1 个答案:

答案 0 :(得分:5)

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

SLRequest *fbRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodGET
URL:requestURL
parameters:@{@"fields":@"cover,picture"}];

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