【问题标题】:Embed recently uploaded youtube video嵌入最近上传的 youtube 视频
【发布时间】:2017-06-16 14:51:49
【问题描述】:

我想将我最近从我的 YouTube 频道上传的视频自动嵌入到我网站的侧边栏中。

我得到了一个很好的答案,但它包括他们要求的用户 ID youtube.com/user/SomeName 但就我而言,就像youtube.com/CHANNEL/name。我尝试用我的频道 ID 替换“SomeName”,但它对我不起作用

【问题讨论】:

  • 如果 youtube 不支持在其嵌入中使用频道 ID,您是否还必须使用视频 ID 进行嵌入?利用 google API 获取最近上传的频道的视频 ID,将其存储在某处并让您的 javascript 提取该 ID
  • 您可以尝试加载您频道的 RSS ,然后根据需要使用 php 解析它以获取最新的视频 url/视频 id。
  • @SkylineGeek 你应该包括你已经拥有的——你已经拥有的“好答案”。这将有助于其他人更好地了解您的问题,以便他们能够回答,或者他们可以判断他们是否遇到了同样的问题。

标签: youtube youtube-api


【解决方案1】:

感谢大家的回答。我找到了一个非常简单的方法来做到这一点 您只需要上传播放列表的 id 并找到访问 google API explorer 的 ID

服务 > YouTube 数据 API v3 > youtube.channels.list

用“contentDetails”填写部分部分 和带有 youtube 频道 ID 的 id 部分(以 UC 开头) 向下滚动并单击执行

你会发现

"uploads": "UUIprTMT-TDysEDx03YMcS5Q",

在**“相关播放列表”**部分 复制该标签,现在使用此代码嵌入

<div style="position:relative;height:0;padding-bottom:56.25%"><iframe src="https://www.youtube.com/embed/videoseries?list=YOUR_UPLOAD_TAG" width="640" height="360" frameborder="0" style="position:absolute;width:100%;height:100%;left:0" allowfullscreen></iframe></div>

Test on fiddle

你完成了:)

【讨论】:

    【解决方案2】:

    您可以嵌入 youtube 频道或播放列表,如下所述:

    https://stackoverflow.com/a/30089630/7733026

    这是嵌入频道的方法

    <iframe width="600" height="340" src="http://www.youtube.com/embed?max-results=1&controls=0&showinfo=0&rel=0&listType=user_uploads&list=YOUR_CHANNEL_NAME_HERE" frameborder="0" allowfullscreen></iframe> 
    

    要获取您的频道名称,请单击“我的频道”及其文本行 在“/user/”之后。

    您还可以使用以下内容嵌入播放列表:

    <iframe width="600" height="340" src="https://www.youtube.com/embed/+lastest?list=PLAYLIST_ID" frameborder="0" allowfullscreen></iframe>
    

    【讨论】:

      【解决方案3】:

      首先,从 V2 到 V3 的 API 中删除了许多选项。
      一些东西仍然存在,但除非你知道它会被使用,否则不会有帮助。

      一个是用户名。对于足够老的频道,旧版用户名仍然存在,但较新的不会有。
      这通常是页面的Title,但现在可以更改标题。

      这就是 ID 的作用所在。每个人都有一个唯一的 ID,但可以拥有与另一个页面相同的 Tile。 (即使有时令人困惑)

      旧频道的示例是 Google
      https://www.youtube.com/user/Google
      “用户”名称是旧名称。
      但所有新旧频道也会有一个“频道”
      https://www.youtube.com/channel/UCK8sQmJBp8GCxrOtXWBpyEA
      请注意,它会为您提供 ID 而不是名称。

      因此,要获得您想要的东西,您需要深思熟虑。
      频道会有旧版用户名吗?需要显示名字吗?还是只想找到最后上传的视频而不管名称?

      今天的最佳做法是使用 ID。然后通过 API,获取您需要的相关信息。

      第一步是调用

      https://www.googleapis.com/youtube/v3/channels?part=contentDetails,id,snippet&id=[THE_CHANNEL_ID]&key=[apiKey]
      

      contentDetails 部分将包含 uploads 部分。
      这将是用户上传到频道的内容,以 UU
      开头 虽然捷径是采用以 UC 开头的频道 ID 并将其更改为 UU。但为了安全和安心,我会推荐 API 方法。

      然后用上传的播放列表ID(UU开头的那个),就可以调用

      https://www.googleapis.com/youtube/v3/playlistItems?part=id,snippet,contentDetails&maxResults=1&playlistId=[PLAYLIST_ID]&key=[api-key]  
      

      通常,数组中的第一个将是最后一个。最新的。所以将results 设置为1 只会给出数组中的第一个。

      如果您想进一步检查以确保,请将results设置为50并使用contentDetails挖掘视频的上传时间并选择最新的那个方式。

      【讨论】:

        猜你喜欢
        • 2013-08-18
        • 1970-01-01
        • 2012-05-20
        • 1970-01-01
        • 1970-01-01
        • 2012-03-14
        • 1970-01-01
        • 2021-12-04
        • 2012-06-25
        相关资源
        最近更新 更多