我正在编写一个 chrome 扩展程序,当用户登录到 instagram 时,该扩展程序可以与 instagram.com/reels 进行交互。
Instagram 加载的前四到五个卷轴的元数据(我特别是在视频持续时间 [mediaPresentationDuration] 之后)作为脚本标记内的 JSON 数据嵌入到 DOM 中,这很容易访问。然而,随后获取的任何卷轴都不是那么容易获得的。尽管如此,我可以轻松地从地址栏中提取当前可见视频的 id(例如 https://www.instagram.com/reel/C192Qr7IPVp/ 的 id:C192Qr7IPVp)。
我通过一些研究发现,可以通过 JSON 数据获取 Instagram 个人资料的公共部分,例如:https://www.instagram.com/metoffice/?__a=1&__d=dis。我想知道如果我知道特定卷轴的 id(并假设查看该卷轴的用户已登录),是否可以执行类似的操作来获取有关特定卷轴的 JSON 数据。
我怀疑这是不可能的,但如果有人有任何最好不涉及从视频所有者那里获取访问令牌的想法,我将非常感谢任何帮助。如果有一种简单的方法可以使用 API 来完成此操作,那就太好了。 谢谢!
是的,您可以使用 Instagram 的 GraphQL API 端点从公共卷轴或帖子中获取数据。
从 Instagram 帖子 URL 获取短代码。 例如,对于 URL
https://www.instagram.com/reel/CIxm6P2A823/?igsh=amtpaGk5NGExYXV1
,简码为 CIxm6P2A823
。
在以下端点使用 POST 发送 GraphQL 请求:
https://www.instagram.com/graphql/query/
POST
{ “变量”:{ “短代码”:“CIxm6P2A823” }, “doc_id”:“7950326061742207” }
这将提取关联的帖子数据。