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

Cocoa 使用Social.framework和SLRequest进行字段扩展,cocoa,facebook-graph-api,frameworks,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:reque

到目前为止,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()
对象的朋友列表。很好

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

这当然是因为这样一个事实,即访问令牌将使用类似于“?访问令牌=%@”的st在Social.framework内部追加,这将与我之前使用的?字段=一起失败


所以我想知道这到底是框架的一个bug,还是我用错了?我非常感谢您提供的任何有用信息。

在直接与苹果公司联系后,这显然是答案: 使用GET参数变量添加字段扩展标记,而不是将其添加到实际URL:

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

这很明显,但我没有想到:)。如果将来有人会遇到同样的问题,我会让这条线保持原样

啊,啊。。。你救了我的命。这是每个例子中遗漏的最重要的细节。你帮我节省了很多工作时间。我把头撞在桌子上,试图弄明白为什么在一切似乎都应该井然有序的情况下出现“必须使用活动访问令牌查询当前用户的信息”错误。谢谢
SLRequest *fbRequest = [SLRequest requestForServiceType:SLServiceTypeFacebook
requestMethod:SLRequestMethodGET
URL:requestURL
parameters:@{@"fields":@"cover,picture"}];