为什么Facebook批处理API请求有时会返回null



我在应用程序中经常使用Facebook的批处理请求。在大多数情况下,它工作得很好,但有一件事让我困惑,那就是为什么他们的API有时会返回null?如果我得到这个"nulls"响应,我可以稍后再试一次,它会起作用的。

这里有一个例子:

URL:

https://graph.facebook.com/?access_token={access_token}

请求正文(编码前):

batch=[{"method":"GET","relative_url":"{page_id}?return_ssl_resources=1"},{"method":"GET","relative_url":"{page_id}?return_ssl_resources=1"},{"method":"GET","relative_url":"{page_id}?return_ssl_resources=1"},{"method":"GET","relative_url":"{page_id}?return_ssl_resources=1"}]

以下是Facebook有时会返回的内容:

[null,null,null,null]

如果我在一秒钟后提出同样的请求,我会得到正确的响应:

[{"code":200,"headers":[...headers here...],"body":{...body here...},{"code":200,"headers":[...headers here...],"body":{...body here...},{"code":200,"headers":[...headers here...],"body":{},{"code":200,"headers":[...headers here...],"body":{...body here...}}]

行为并不总是一致的。大多数时候,我可以再试一次,并得到适当的回应。偶尔我需要尝试2到3次。这个问题一天发生几十次,从我记事起就一直存在。我在Facebook上检查了我的应用诊断,我的应用没有任何限制,没有API节流,Facebook甚至没有在"API错误"报告中列出这些限制。知道为什么会发生这种事吗?

这个问题似乎已经自行解决了。我已经好几天没有看到这个错误出现了。

此处为Bug报告:http://developers.facebook.com/bugs/295201867209494?browse=search_4f42b29071ebc7f92807017

最新更新