【问题标题】:How to get the id of the latest uploaded video in a youtube channel如何获取 youtube 频道中最新上传视频的 id
【发布时间】:2011-07-07 21:50:52
【问题描述】:

在 YouTube 上 我如何获取我订阅的频道的最新上传视频的 ID(URL 中的视频,如 v=....),用于嵌入
我在我的服务器端使用 php

【问题讨论】:

    标签: php youtube


    【解决方案1】:

    截至 2015 年 4 月 20 日,上述答案似乎不再有效。这是一个使用 YouTube 频道 ID 的示例(可以在频道页面的源代码中找到。)

    <?php
    
    $id = NULL;
    $channel_id = 'someChannelID';
    
    $xml = simplexml_load_file(sprintf('https://www.youtube.com/feeds/videos.xml?channel_id=%s', $channel_id));
    
    if (!empty($xml->entry[0]->children('yt', true)->videoId[0])){
        $id = $xml->entry[0]->children('yt', true)->videoId[0];
    }
    
    echo $id; // Outputs the video ID.
    

    【讨论】:

    • 您能否详细说明“可能不再工作”这句话? YT API 有什么变化吗?
    • 我还没有做太多的研究,但是我使用了发布的方法,并且我的最新视频返回如下:youtube.com/devicesupport指向此页面:support.google.com/youtube/answer/6098135?hl=en
    • 嗨,我怎样才能为我的滑块获取最新的 5 个 YouTube 视频..请帮助我。
    【解决方案2】:

    这是一个使用 YouTube RSS 源 simplexml_load_fileparse_urlparse_str 的示例。

    <?php
    
    $id = NULL;
    $username = 'YouTube';
    
    $xml = simplexml_load_file(sprintf('http://gdata.youtube.com/feeds/base/users/%s/uploads?alt=rss&v=2&orderby=published', $username));
    
    if ( ! empty($xml->channel->item[0]->link) )
    {
      parse_str(parse_url($xml->channel->item[0]->link, PHP_URL_QUERY), $url_query);
    
      if ( ! empty($url_query['v']) )
        $id = $url_query['v'];
    }
    
    echo $id; // Outputs the video ID.
    

    【讨论】:

      【解决方案3】:

      以下是设置 API 密钥后如何通过 YouTube API 执行此操作的方法。

      <?php
      
      $channel_id = 'someChannelId';
      $api_key = 'yourAPIKey';
      
      $json_url="https://www.googleapis.com/youtube/v3/playlistItems?part=snippet&playlistId=".$channel_id."&key=".$api_key;
      $json = file_get_contents($json_url);
      $listFromYouTube=json_decode($json);
      $id = $listFromYouTube->items[0]->snippet->resourceId->videoId;
      
      echo $id; // Outputs the video ID.
      

      生成您的 API 密钥:

      1. 转到 - https://console.developers.google.com
      2. 创建一个新项目
      3. 选择“API 和身份验证”
      4. 选择“API”
      5. 选择“Youtube Data API v3”并启用它
      6. 选择“凭据”
      7. 创建新密钥,选择浏览器然后按创建(不要输入 文本框中的任何内容)

      【讨论】:

      • 在上面的 $channel_id 实际上应该是播放列表的 id,可以在相关的播放列表部分找到。googleapis.com/youtube/v3/channels?id={channel_id}&key={api_key}&part=sn- p,contentDetails,统计
      【解决方案4】:

      这里和 Greg Brendel 一样。 YT 确实做了一些更改:“随着我们升级 YouTube 数据 API 以带来更多功能,我们将于 2015 年 4 月 20 日开始关闭旧版本。这将导致当前的 YouTube 应用无法在 2012 年的某些设备型号上运行和更老的。”

      https://support.google.com/youtube/answer/6098135?p=yt_devicesupport&hl=en&rd=1

      【讨论】:

        猜你喜欢
        • 2012-01-20
        • 2019-08-16
        • 2020-08-17
        • 2016-08-05
        • 2013-10-08
        • 2015-06-07
        • 2019-12-07
        • 2020-04-10
        • 2019-11-27
        相关资源
        最近更新 更多