我正在尝试使用 Instagram Business Discovery API 从某个公共页面获取帖子统计信息。
以沐浴和身体工作(https://www.instagram.com/bathandbodyworks)为例。
GET graph.facebook.com
17895695668004550?fields=business_discovery.username(bathandbodyworks){followers_count,media_count,media{timestamp,like_count,comments_count}}
这会给我以下回复:
{
"business_discovery": {
"followers_count": 3526159,
"media_count": 3536,
"media": {
"data": [
{
"timestamp": "2018-05-16T20:00:54+0000",
"like_count": 28925,
"comments_count": 530,
"id": "17917935010179826"
},
(24 posts data omitted...)
"paging": {
"cursors": {
"after": "QVFIUlBNak5fNTc3eThl..." (a very long string)
}
}
}
现在,这只给我最近的 25 个帖子,我相信这是 Facebook 设置的每个请求的限制。
如果我想加载接下来的 25 个帖子,该怎么办?
在 YouTube 数据 API 中,每个请求也有 50 个限制,但提供了“nextPageToken”来加载下 50 个帖子。我认为这里也是同样的情况?
我还在这个Facebook API文档中发现也许我可以添加一个光标字符串,例如:
&after=QVFIUlBNak5fNTc3eThl...
,
但这不起作用。
如有任何建议,我们将不胜感激,谢谢!
business_discovery 的分页与 Facebook 有点不同 分页。
没有
next
和 previous
网址。
您需要添加,
after
光标,如本例所示:
https://graph.facebook.com/v2.12/xxxx?fields=business_discovery.username(jacqehoward){id,name,username,website,profile_picture_url,biography,followers_count,media_count,media.after(QVFIUlZA5aTR5NTE4Y24tNW90VGZAPTVBtb0NpOEFPTlNLeklmVTEtUDZAfVnE0YnBhUVNOQ3BDaktzNHJBTENhTmVYLUV2SGJPZAVAxZA09hQ2NhUGdnUGFjMTNn){id,caption,comments_count,like_count,media_type,media_url,owner,timestamp}}
注:
media.after(after_cursor){media_fields}
如果您想通过
business_discovery
分页到最后,您必须添加 after
光标,直到只有 previous
光标响应。这是您到达第一篇文章的标记。