我正在深入Instagram API,并找到一个https://i.instagram.com/api/v1
,它被许多git使用(有些是最近更新的),但是当我去Instagram时,那里没有这样的URL。有人能告诉我这个url的用途是什么吗?我如何使用它?因为当我点击时
https://i.instagram.com/api/v1/accounts/login/
通过邮递员我收到了下面的消息
{
"message": "Your version of Instagram is out of date. Please upgrade your app to log in to Instagram.",
"status": "fail",
"error_type": "needs_upgrade"
}
还有一件事。我和我在android工作的朋友在一起,他在一个应用程序上做了逆向工程,这个应用可以增加关注者,而且那个应用程序也使用相同的端点,并在这个应用程序上工作。
发布于 2021-11-07 06:20:25
现在是2021年11月,API https://i.instagram.com/api/v1
仍然有效,但我相信他们已经改变了你使用它的方式。
注意:给出的信息只是为了教育目的,
让我们以这个API的user/{user_id}/info
端点为例,它返回有关user_id
的基本信息。
具有此端点的URL为
https://i.instagram.com/api/v1/users/176702683/info/
如果将此链接粘贴到浏览器中,您将得到以下消息
{"message":"useragent mismatch","status":"fail"}
这意味着必须通过移动用户代理调用API。了解有关用户代理https://www.whatismybrowser.com/detect/what-is-my-user-agent的更多信息。
我们可以通过提供一个移动用户代理字符串来解决这个问题.
使用python requests
库
!pip install requests
import requests
URL = https://i.instagram.com/api/v1/users/176702683/info/
headers = {'User-Agent':'Instagram 76.0.0.15.395 Android (24/7.0; 640dpi; 1440x2560; samsung; SM-G930F; herolte; samsungexynos8890; en_US; 138226743)'}
# samsung mobile user-agent
response = requests.get(url, headers=headers)
print(response.json())
输出:
{
"user": {
"username": "marcelotwelve",
"pk": 176702683,
"profile_pic_url": "https://instagram.fzrh3-1.fna.fbcdn.net/v/t51.2885-19/233796637_544571223333074_8761964745157634211_n.jpg?stp=dst-jpg_s150x150\\u0026_nc_ht=instagram.fzrh3-1.fna.fbcdn.net\\u0026_nc_cat=1\\u0026_nc_ohc=Cfk2kHCxgbIAX_vgNjn\\u0026edm=AEF8tYYBAAAA\\u0026ccb=7-5\\u0026oh=00_AT-tuXbAbsIkvmJqm_akQS__UPDtEXZxZChx2lO-9Wb0FQ\\u0026oe=62A8115E\\u0026_nc_sid=a9513d"
},
"status": "ok"
}
注意:请注意如何使用
发布于 2017-05-28 10:28:06
它实际上是一个API,你只能从你的手机应用程序使用,这就是为什么它说它需要升级。您可以下载chrome / firefox的一个插件来切换用户代理,然后您就可以看到内容了。
值得一查的是insa上有很多关于用户的信息
发布于 2018-04-22 12:34:08
此响应是由于没有设置cookie而导致的默认错误。
检查Instagram,您可以首先看到重定向(通过这种方式,它们会填充为您设置的初始cookie)。复制粘贴到邮递员,然后再试一次
https://stackoverflow.com/questions/43452544
复制相似问题