我正在尝试使用实时照片更新API 来获取所有带有特定标签的图片。因为来自这个 API 的更新实际上只告诉你新内容的存在(但不是它是什么),我正在查询每当我收到有关某些事情发生变化的通知时,对于带有我的标签的最近媒体。
我遇到的问题是我不断收到该查询返回的重复媒体。文档说这个 API 可以分页,但我根本无法让它工作。
这里的文档说要在查询字符串中使用min_id
andmax_id
来控制分页,但是它说:
MIN_ID - 在此 min_id 之前返回媒体。
MAX_ID - 在此 max_id 之后返回媒体。
这似乎是倒退的(通常 min 应该返回高于最小值的项目,而 max 应该返回低于最大值的项目,这样当你指定两者时,你会得到一个有界范围)。
我从查询中得到的实际 JSON 包括一个这样的分页对象:
"pagination": {
"next_max_tag_id": "1387272337517",
"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": "1387272337517",
"next_min_id": "1387272345517",
"min_tag_id": "1387272345517",
"next_url": "https://api.instagram.com/v1/tags/cats/media/recent?access_token=xxx&max_tag_id=1387272337517"
}
属性中指定的参数next_url
是max_tag_id
,不是max_id
不像文档说的那样。
还有一个弃用警告指出next_max_id
和min_id
已弃用,但由于分页对象中有类似名称的属性,我不知道查询参数或对象属性是否已弃用..
我认为这意味着属性,因为查询字符串从未使用 的参数next_max_id
,但是弃用消息说要使用min_tag_id
andmax_tag_id
并且分页对象上没有max_tag_id
属性(只是 a next_max_tag_id
)。
不管所有这些冲突的文档如何,我在查询字符串中传递的内容似乎都无关紧要——我在后续查询中继续获得重复媒体。有人可以帮我理解这个 API 吗?我真正想要的只是获得自上次查询以来新的标记媒体。