我已经开始研究Instagram API了,我想要提取所有使用过特定主题标签或已经在指定位置的用户。
正如文档所说,我可以使用以下方法获取最新用户的标签和位置:
https://api.instagram.com/v1/tags/{tag}/media/recent?access_token={token}
https://api.instagram.com/v1/media/search?lat={latitude}&lng={longitude}&access_token={token}
我最近获得了这些数据(最多7分钟)。我的问题是,是否可以检索所有用户,而不仅仅是最近的?另外,如何获取位置名称的媒体对象,例如" London"?我似乎必须首先获取该位置的位置ID,但文档并未明确如何获取该ID。
答案 0 :(得分:2)
据我所知,通过hashtag或location获取用户数据并不是一个整洁的终点。我认为从标签,位置或地理位置最近的媒体端点获取所有用户的唯一方法是屠杀API并从每个分页响应中查看user
数组中每个项目的data
对象。那些终点。每个响应中的pagination
属性与data
处于同一级别,可帮助您执行此操作。
"pagination": {
"next_max_tag_id": "1009570282366298753",
"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": "1009570282366298753",
"next_min_id": "1009570411710268632",
"min_tag_id": "1009570411710268632",
"next_url": "https://api.instagram.com/v1/tags/{tag}/media/recent?access_token={access_token}&max_tag_id=1009570282366298753"
},
pagination.next_url
会在当前响应之后为您提供另一页回复,其中会有一个新的pagination.next_url
等等。
您可以在GET网址?count=33
中传递其他参数,这会指定您在data
数组中获得的对象数量,最多为33个。因此,每个请求可以获得33个结果每个请求默认为20个。
位置媒体最近端点仅适用于位置ID,但位置ID可以在任何最近媒体端点的location
阵列中的对象的data
属性中找到。只有当该图像位于地理位置且指定了位置时才会填充该属性,这与Instagram API不同。
使用location search endpoint并搜索结果可能会更容易,直到找到您要查找的位置为止。
https://api.instagram.com/v1/locations/search?lat={latitude}&lng={longitude}&distance={radius_in_meters}&access_token={access_token}