图形请求在代码中失败但在浏览器中成功

时间:2014-06-09 16:44:18

标签: ios facebook facebook-graph-api

当我在代码中进行尝试时,我发出图形请求来搜索用户并获得NSError代码为5,但是从浏览器发出的完全相同的请求会成功并返回搜索结果列表。

以下是代码:

NSString* graphRequest = @"https://graph.facebook.com/search?q=somebody&type=user&access_token=<REMOVED>";

FBRequest *fbRequest = [FBRequest requestForGraphPath: graphRequest];

[fbRequest startWithCompletionHandler:
 ^(FBRequestConnection *connection, id result, NSError *theError)
 {

为什么当图形请求相同时,代码可能与浏览器存在差异?我可以毫无问题地发出其他图形请求(例如找朋友) - 只有这种特殊的图形调用会导致问题。

(我已经确认FBSession在FBRequest调用时打开,我正在调用FBSession:setActiveSession)

1 个答案:

答案 0 :(得分:0)

您似乎在graphRequest

中包含了您手动点击的完整网址

您应该只包括API路径,而不是完整的服务器地址和协议标识符,并且您几乎肯定不应该在路径中有访问令牌 - 如果您尝试迁移,请检查iOS SDK的文档从您应用的其他版本调用iOS版本

SDK应该管理您的访问令牌/会话(在FBSession中)并决定调用哪个服务器和API版本

这里的例子可能看起来更像:

NSString* graphRequest = @"search?q=somebody&type=user";

FBRequest *fbRequest = [FBRequest requestForGraphPath: graphRequest];