到目前为止,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 = 一起使用失败。
所以我想知道这是否真的是框架的错误,或者我是否错误地使用它?我真的很感谢任何有用的信息。
答案 0 :(得分:5)
直接联系Apple后,这显然是答案: 使用GET参数变量添加字段扩展标记,而不是将它们添加到实际的URL:
SLRequest *fbRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodGET
URL:requestURL
parameters:@{@"fields":@"cover,picture"}];
这很明显,但我没想到:)。如果有人可能在将来偶然发现同样的问题,我会让这个线程成为现实!