带有 api 的 Instagram 用户位置

Posted

技术标签:

【中文标题】带有 api 的 Instagram 用户位置【英文标题】:Instagram user location with api 【发布时间】:2015-02-11 10:08:10 【问题描述】:

如何在 intagram api 上找到用户位置? instagram 端点有这个 uri:https://api.instagram.com/v1/locations/location-id?access_token=ACCESS-TOKEN

【问题讨论】:

【参考方案1】:

您可以通过利用媒体源上的位置服务来估计用户的位置。也就是说,您可以从一个或多个所需用户发布的图像中提取位置标签。然后,您可以使用所有用户的图像来得出大致位置或类似的位置。

请注意,并非每张图片都有位置标签,有些用户的位置服务完全关闭,在这种情况下,不会标记任何图片。但你可以这样做:

使用@instagram 具有位置的图像之一的图像ID。然后使用 python 库连接到 instagram api 以获取有关该图像的信息。然后访问图像位置。

image_id = '976907440786573124_25025320'
image_info = api.media(image_id)
lat = image_info.location.point.latitude
lon = image_info.location.point.longitude
print (lat,lon)

给出结果 (51.565501504,-0.089821461)

【讨论】:

这太棒了,伙计【参考方案2】:

要补充 jstnstwrt 的答案,最直接的方法是:

如果你为 python 安装了 python-instagram 库,你可以执行以下操作:

import instagram
api = InstagramAPI(access_token=access_token, client_secret=client_secret)
id = <id of the user you're trying to get location from>
location = api.location(id) # returns error if no location set
coordinates = location.point #returns point object with lat and long coordinates

编辑 25/07/2019:

这早就停止工作了,instagram 已经大大锁定了他们的 API。我会推荐像 instaloader (https://pypi.org/project/instaloader/) 这样运行良好的东西。

【讨论】:

jstnstwrt 提到从媒体 ID 而非用户 ID 接收位置。我认为 api 不会为用户返回位置 @Wboy 谢谢,我已经安装了模块,但我找不到位置,有什么帮助吗?

以上是关于带有 api 的 Instagram 用户位置的主要内容,如果未能解决你的问题,请参考以下文章

使用 Instagram API 获取用户的位置

带有 Laravel 5.4 的 Instagram API

带有来自 Instagram API 的正确访问令牌的空成功响应

我们如何为客户获取实时 Instagram 位置通知?

Instagram API 发布喜欢率限制

带有 PHP 的 Instagram API