从 API 检索 Instagram 视频嵌入 URL
Posted
技术标签:
【中文标题】从 API 检索 Instagram 视频嵌入 URL【英文标题】:Retrieve Instagram video embed URL from API 【发布时间】:2013-07-21 09:59:53 【问题描述】:我正在尝试寻找以编程方式获取 Instagram 视频的嵌入链接。不幸的是,Instagram 的 oEmbed 端点似乎将视频视为照片,并且只返回关键帧图像,而不是提供嵌入链接。
有谁知道无需手动访问该视频的页面即可检索 Instagram 视频的嵌入链接的方法?
【问题讨论】:
【参考方案1】:根据Instagram's API site,对视频对象的GET /media/media-id 请求会返回一个JSON 对象,其中包含您在“data.videos.low_resolution.url”中所需的信息。
我使用以下代码成功地将他们的示例请求返回的视频嵌入到网页中:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Video Embed Test</title>
</head>
<body>
<video controls>
<source src="http://distilleryvesper9-13.ak.instagram.com/090d06dad9cd11e2aa0912313817975d_102.mp4"
type="video/mp4"/>
</video>
</body>
</html>
【讨论】:
我之前没有意识到/embed/
URL 只是使用 HTML5 视频,而不是 Flash 嵌入或任何东西。所以这绝对是一个合适的解决方案,而且比我找到的那个更灵活。
GET /media/media-id
是deprecated since April 2018【参考方案2】:
我无法找到检索嵌入 URL 的方法,但是在检查 Instagram 提供的嵌入后,我能够确定如何根据它生成媒体 API 端点提供的信息。基本上,您只需将/embed/
附加到媒体短网址的末尾即可。所以它在 Django 模板中看起来像这样:
<iframe src=" media.short_link embed/" frameborder="0" scrolling="no" allowtransparency="true"></iframe>
作为一个有趣的附注,我还发现您可以在嵌入代码中更改宽度和高度,并且它可以毫无问题地工作(至少当您将尺寸减半时,我没有尝试其他任何方法)。
【讨论】:
【参考方案3】:获取 Instagram 视频 URL 的一种简单方法是在您尝试定位的帖子末尾添加?__a=1
(即https://www.instagram.com/p/BqTd8dhFKLN/?__a=1
)。
然后您可以导航到["graphql"]["shortcode_media"]["video_url"]
或["graphql"]["shortcode_media"]["edge_sidecar_to_children"]["edges"][carousel_number]["node"]["video_url"]
(取决于帖子是否为轮播),这将为您提供视频网址。
【讨论】:
以上是关于从 API 检索 Instagram 视频嵌入 URL的主要内容,如果未能解决你的问题,请参考以下文章
如何从 Instagram API 检索经过验证的用户? [关闭]