Instagram /v1/tags/tag-name/media/recent 端点未在分页块中返回 min_tag_id

Posted

技术标签:

【中文标题】Instagram /v1/tags/tag-name/media/recent 端点未在分页块中返回 min_tag_id【英文标题】:Instagram /v1/tags/tag-name/media/recent endpoint doesn't return min_tag_id in pagination blockInstagram /v1/tags/tag-name/media/recent 端点未在分页块中返回 min_tag_id 【发布时间】:2016-07-10 01:42:15 【问题描述】:

根据https://www.instagram.com/developer/endpoints/tags/,我们曾经在https://api.instagram.com/v1/tags/tag-name/media/recent?access_token=ACCESS-TOKEN 响应的分页部分获取min_tag_id,然后我们在请求中使用它来轮询新帖子。

截至今天早上,我们看到 Instagram 改变了分页响应的形式。它现在看起来像:

"pagination": 
"next_max_tag_id": "AQBy529IMOAlOvp6EI5zrYZRZbUbNW2oGQjgdvfVi5I_7wTIKzqE2nfsSBHvCkPmWOMKV7kmNcMPErenGJsbDtIk013aPZ_xo4vFYuXqtDGz3ZS0ZBrnTSjtuGjtnEOHiDJlAp8lI99AuwAgObnaf6tYhkoiDajEkg5E2zOFuDZFfQ",
"next_url": "https://api.instagram.com/v1/tags/enplug/media/recent?access_token=1573931388.852f6fb.2ee7fb644c5341dd813bd3bbc4c687ec&max_tag_id=AQBy529IMOAlOvp6EI5zrYZRZbUbNW2oGQjgdvfVi5I_7wTIKzqE2nfsSBHvCkPmWOMKV7kmNcMPErenGJsbDtIk013aPZ_xo4vFYuXqtDGz3ZS0ZBrnTSjtuGjtnEOHiDJlAp8lI99AuwAgObnaf6tYhkoiDajEkg5E2zOFuDZFfQ",
"deprecation_warning": "next_max_id and min_id are deprecated for this endpoint; use min_tag_id and max_tag_id instead",
"next_max_id": "AQBy529IMOAlOvp6EI5zrYZRZbUbNW2oGQjgdvfVi5I_7wTIKzqE2nfsSBHvCkPmWOMKV7kmNcMPErenGJsbDtIk013aPZ_xo4vFYuXqtDGz3ZS0ZBrnTSjtuGjtnEOHiDJlAp8lI99AuwAgObnaf6tYhkoiDajEkg5E2zOFuDZFfQ"

现在是否已弃用 min_tag_id?开发人员文档没有提到任何关于此的内容。

【问题讨论】:

“min_tag_id 现在被弃用了吗?” – 听起来好像是相反的情况:“deprecation_warning”:“next_max_id 和 min_id 已被此端点弃用;使用 min_tag_id而 max_tag_id ”, 我也有同样的问题。文档 (instagram.com/developer/endpoints/tags) 声明 min_tag_id 将成为分页的一部分。它意外丢失。 我们也遇到了同样的问题。虽然找不到太多关于此的信息。 同样的问题!有什么方法可以联系 Instagram 团队吗?他们只是忽略通过开发人员门户提交的问题。也没有关于此更改的更新日志,最后一次修改是 2015 年。 你好。是否可以返回某个标签的所有媒体而不是最近的媒体? 【参考方案1】:

这似乎是 Instagram API 的临时问题,现已解决。

【讨论】:

是的,min_tag_id 似乎又回来了,但它以前是一个以微秒为单位的 Unix 时间戳,现在它似乎是这种形式:AQB6e6I1w2uIVlj2UIsfvd13JhT4RbZjCZZgLWl9PDVXRefheKJ4JWWvd​​eft_y_tSgYbiDM...(此示例为 174 个字符) 在我看到的所有回复中实际上是 174。更不用说召回会生成一个新的 min_tag_id。有点让你想知道 我认为这些值现在是他们的搜索引擎中使用的光标,用于在一组搜索结果中进行分页。但是,在请求中将 min_tag_id 与 max_tag_id 结合不起作用:(如果输入无效值,则会返回此错误: "meta":"error_type":"APIInvalidParametersError","code":400,"error_message" :"min_id 不是一个有效的游标。" 有没有办法生成这种新格式?我曾经计算我需要的时间戳,但现在我不能。 这个问题好像又回来了。我们在回复中再次缺少“min_tag_id”。【参考方案2】:

因此,经过进一步调查,我注意到您可以使用最新帖子的 id 有效地从https://api.instagram.com/v1/tags/tag-name/media/recent?access_token=ACCESS-TOKEN 响应中过滤掉较旧的帖子,现在总是返回最后 20 个帖子。

instagram 帖子的 id 通常看起来像 xxxxxxxxxxxxxxxxxxx_yyyyyyyyyy 其中 xxxxxxxxxxxxxxxxxxx 本质上是用于在分页块中返回,yyyyyyyyyy是用户的id。

所以你可以提取一个帖子的id(xxxxxxxxxxxxxxxxxxx_yyyyyyyyyy)的xxxxxxxxxxxxxxxxxxxx部分,对比一下看是不是比前面的xxxxxxxxxxxxxxxxxxxxx大 em> 您正在跟踪以检索较新的帖子。

【讨论】:

我试过这个,似乎 API 忽略了它,我每次都得到相同结果的响应 - 有或没有 &min_tag_id (其中 min_tag_id 是上面提到的 'xxxxx' 组件) .也许 Instagram 现在已经根据 Yousef 的回答进行了修复。如果 min_tag_id 回来了,那我就用它.. 您不能再使用帖子 ID 中的 'xxxxxxxxxxxxxxxxxxx' 来翻阅响应。我实际上的意思是你可以使用'xxxxxxxxxxxxxxxxxxxxx'通过从'xxxxxxxxxxxxxxxxxxx_yyyyyyyyyy'中提取'xxxxxxxxxxxxxxxxxxx'来手动过滤掉帖子。当您使用 'xxxxxxxxxxxxxxxxxxxxx' 作为 min_tag_id 时,实际上会出现错误。像“min_tag_id 不能是媒体 id”之类的东西。他们已经开始使用 min_tag_id 和 max_tag_id 的新格式,正如这里的一些 cmets 中提到的那样。 你好。是否可以返回某个标签的所有媒体而不是最近的媒体?

以上是关于Instagram /v1/tags/tag-name/media/recent 端点未在分页块中返回 min_tag_id的主要内容,如果未能解决你的问题,请参考以下文章

instagram国内怎么注册不了安卓

ios - Instagram用新的instagram图表api登录?

用于实现 Instagram Video Downloader、InstaDP 和 Instagram Stories 的 Instagram API

为啥 instagram 嵌入代码只显示一个 instagram 图标,而不是图像?

网站中的 Instagram 动态 - 使用 Instagram 基本显示 API

如何为 Instagram 基本显示 API 实现 Instagram 或 Facebook 登录按钮的继续?