在Facebook上使用ETag但状态代码始终为200而不是304

时间:2014-05-11 15:25:17

标签: facebook facebook-graph-api synchronization etag if-none-match

当我尝试使用ETag调用https://graph.facebook.com/me/friends?fields=id,name,first_name,last_name,link,picture&access_token=MyAccessToken的请求时,我每次都会得到200的请求代码。我做了两个背靠背响应并检查了它。最后它有一个分页部分,它附加了一个访问令牌。这总是不同的,所以ETag值也会发生变化。 我尝试在Firefox中使用REStClient Add-on但行为相同。我还尝试了Here in Facebook Docs提到的Firebug和修改标题加载项,但没有变化。 我试着打电话给另一个请求/我?并且它按预期工作,但对于/ me / friends和/ me / events,它总是返回200响应。任何帮助表示赞赏。

此问题与This question类似,但答案对我不起作用。谢谢。

1 个答案:

答案 0 :(得分:0)

这似乎是Facebook Graph API中的一个错误。我认为问题是&#34; next&#34; Paging部分中的值在每个请求中都是不同的,所以它总是返回200.这是一个描述分页问题的链接,即使这些页面Facebook Graph API JSON result has Page Next, despite no more datathe developer blog中没有关于分页问题的数据也没有。< / p>

在这两个链接中都没有关于我的问题的直接解决方案,但这是我的结论,未修改不适用于朋友api,因为不需要的分页部分没有数据且有&#34; _after_id&#34;值总是在每个请求中发生变化。