如何使用 Instagram 的 API 或网站从其 ID 检索 Instagram 用户名?我已经获得了一个包含 Instagram 用户 ID 的数据库表,我需要知道他们的用户名。
可以使用https://i.instagram.com/api/v1/users/USERID/info(将 USERID 替换为用户 ID)。它返回一个 JSON,其中字段 user.username 是该用户的用户名。
安装了curl和jq后,这个shell oneliner将直接返回用户名:
curl -s https://i.instagram.com/api/v1/users/USERID/info/ | jq -r .user.username
但是,请记住,这不是官方 API 端点。
在继续之前,我想通知您,由于最近的经验,由于 instagram api 的最新更新,此“解决方案”不再可用,但我希望它能为您有所贡献!
您可以通过 instagram api 通过端点访问您拥有 userId 的用户数据: https://api.instagram.com/v1/users/{user-id}/?access_token=ACCESS-TOKEN 然而,这需要[public_content],一个需要被 Instagram 接受的权限,这样你就可以探索 Instagram 的所有“公共用户”,Instagram 不再等待这个权限。
您可以在此处了解有关 Instagram 端点的更多信息:https://www.instagram.com/developer/endpoints/users/#get_users
Instagram 图形 API 2019年8月13日,Instagram推出了Business Discovery API,它允许您获取有关其他Instagram Business或Creator IG用户的数据。
为此,您需要以下权限:
首先,您需要使用此查询获取您的 Instagram Business Id
https://graph.facebook.com/v7.0/{your_instagram_id}?fields=instagram_business_account&access_token={your_access_token}
然后您将获得Instagram Business Id
{
"instagram_business_account": {
"id": "17841430463493290"
},
"id": "101345731473817"
}
使用 Instagram Business Id 和您的访问令牌,您可以从用户名中获取任何人的用户 ID
示例:
https://graph.facebook.com/v7.0/17841430463493290?fields=business_discovery.username(zimba_birbal){id,username,followers_count,media_count}&access_token={your_access_token}
回应:
{
"business_discovery": {
"id": "17841401828704017",
"username": "zimba_birbal",
"followers_count": 166,
"media_count": 36
},
"id": "17841430463493290"
}
需要修改用户代理(instagram应用程序的代理),并使用一些浏览器web,否则使用wget。
wget --user-agent="Instagram 85.0.0.21.100 Android (23/6.0.1; 538dpi; 1440x2560; LGE; LG-E425f; vee3e; en_US" https://i.instagram.com/api/v1/users/*SOME_ID_INSTAGRAM*/info/
在保存的“index.html”文件中找到您想要的用户名
注意:要查找用户 ID,您可以将 ?__a=1 添加到个人资料 URL,例如:https://www.instagram.com/*SOME_USERNAME*/?__a=1
curl -A“Instagram 85.0.0.21.100 Android(23/6.0.1;538dpi;1440x2560;LGE;LG-E425f;vee3e;en_US)”https://i.instagram.com/api/v1/users /*ig-siws.x.memes*/info/
我目前正在使用的Data 365 Instagram API似乎是一个合适的工具,可以帮助你。
Birbal Zimba 在他的回答中已经描述了官方 API 的一些限制。 data365.co 的 Instagram API 没有这样的限制。
要获取用户名,您应该发送包含 profile_id(与 user_id 相同)的请求,即:
下载配置文件数据的 POST 请求:
https://api.data365.co/v1.1/instagram/profile/{profile_id}/update?access_token=您的访问令牌
接收配置文件数据的 GET 请求:
https://api.data365.co/v1.1/instagram/profile/{profile_id}?access_token=您的访问令牌
您收到的回复不仅包括用户名,还包括全名、简介、个人资料照片、业务类别、用户性别和年龄、关注者数量、关注者、帖子等等。