Sea*_*see 8 facebook facebook-graph-api
我正在构建一个Facebook应用程序,我希望它能够读取过去一年中所有用户的状态.当我进行API调用时,无论我将限制设置为什么,我都只能检索前100个状态.
这是我用来拨打电话的网址:https: //graph.facebook.com/me/statuses?limit = 100&access_token = ...
当我将限制设置为较低时,它会显示较少的状态(证明限制参数有效).当我将限制设置得更高时,它只给出了前100个.当我使用'since'时,它仍然只给我100.
当我使用它给出的'下一个'网址时,我看到没有数据超过前100个状态.
我知道因为My Year In Status这样的应用程序可以获得更多
它确实有效.您必须同时使用limit和offset查询参数.该limit参数设置批次大小.该offset参数设置用户的历史状态集合中的位置.如果不指定offset参数,Facebook会将其默认为零,这就是您持续查看相同数据集的原因.
对于第一批100个状态的设置limit来100和offset到0.
对于第二批100个状态的设置limit来100和offset到100.
对于第三批100个状态的设置limit来100和offset到200.
对于第四批100个状态的设置limit来100和offset到300.
等等...
继续迭代,直到你得到一个空的数据集:
{
"data": []
}
Run Code Online (Sandbox Code Playgroud)
我已使用 Graph API 浏览器验证分页未按照您的描述工作。将其记录为 Facebook 的错误:https: //developers.facebook.com/bugs并在此处发布错误#。
编辑
根据错误关闭,100 个限制是设计使然,您不会得到更多,这意味着 Facebook 已做出有意识的商业决策,以限制其必须通过 Graph API存储、处理和提供的数据量。这样做需要花钱,而且由于 API 是免费使用的,我无法与他们争论。然而,如果我付了钱,那么我会一路踢着、尖叫着。
| 归档时间: |
|
| 查看次数: |
2601 次 |
| 最近记录: |