使用Facebook Graph API进行Instagram分页

时间:2018-06-27 14:54:31

标签: facebook-graph-api instagram

我正在尝试使用Facebook Graph API发出有关Instagram企业帖子的API请求。

https://developers.facebook.com/docs/instagram-api/business-discovery

我正在使用Facebook的Graph API Explorer

    <my_facebook_page_id>?fields=business_discovery.username(<instagram_business_account_username>){media{comments_count,like_count, caption, media_url, media_type,timestamp}}

这将成功返回Instagram企业帐户中的25条最新帖子,以及json的pageing> cursor部分中的“ after”字段。

但是,我现在正尝试使用某种形式的分页来获取下25个帖子。

我已经阅读到Facebook Graph API支持基于Cursor和基于时间的分页,但是以下文章建议Business Discovery的/ media端点仅支持基于Cursor的分页。

https://developers.facebook.com/docs/instagram-api/reference/user/business_discovery#pagination

我尝试了上述查询的几种变体,以获取下25个帖子,但它们全部返回最新的25个帖子(与上面的初始查询相同)。

以下是我尝试过的一些查询示例。

    <my_facebook_page_id>?fields=business_discovery.username(<instagram_business_account_username>){media{comments_count,like_count, caption, media_url, media_type,timestamp}}&after=<after_code_from_first_call>

    <my_facebook_page_id>?fields=business_discovery.username(<instagram_business_account_username>).after(<after_code_from_first_call>){media{comments_count,like_count, caption, media_url, media_type,timestamp}}

因此,对于如何格式化这些查询字符串以便对instagram媒体对象执行分页(使用after / before参数,时间戳或post_ids)的任何帮助,将不胜感激。

谢谢。

1 个答案:

答案 0 :(得分:3)

经过大量尝试后出现错误,我发现API请求的正确格式应为

https://graph.facebook.com/v3.0/<my-facebook-page-id>?access_token=<access-token>&fields=business_discovery.username(<accountHandle>){{profile_picture_url,media.after(<pagination-code>).limit(<the-amount-of-posts-to-return>){{id,caption,media_url,media_type,like_count,comments_count,timestamp,permalink}}}}

我还发现可以返回的帖子数量没有限制(我在测试中设法一次返回了1000个帖子)

注意:“分页代码”是您执行API调用时提供的“之后”代码。