从 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 检索经过验证的用户? [关闭]

如何从 Instagram 上的多张照片中检索所有图像

从 YouTube API 仅检索支持移动设备的视频

从 YouTube API 仅检索支持移动设备的视频

沙盒中的 OAuthPermissionsException Instagram API

有没有办法从 Instagram 故事中检索民意调查选民名单?