【问题标题】:Retrieve Instagram video embed URL from API从 API 检索 Instagram 视频嵌入 URL
【发布时间】:2013-07-21 09:59:53
【问题描述】:

我正在尝试寻找以编程方式获取 Instagram 视频的嵌入链接。不幸的是,Instagram 的 oEmbed 端点似乎将视频视为照片,并且只返回关键帧图像,而不是提供嵌入链接。

有谁知道无需手动访问该视频的页面即可检索 Instagram 视频的嵌入链接的方法?

【问题讨论】:

    标签: api video embed 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 width="480" height="480" 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/" width="612" height="710" 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"](取决于帖子是否为轮播),这将为您提供视频网址。

      【讨论】:

        猜你喜欢
        • 2015-06-20
        • 1970-01-01
        • 2016-01-19
        • 1970-01-01
        • 2016-09-04
        • 2021-08-06
        • 2014-04-15
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多