【问题标题】:YouTube Channel Videos List in PHP with YouTube v3 API not Working使用 YouTube v3 API 的 PHP 中的 YouTube 频道视频列表不起作用
【发布时间】:2019-02-10 08:24:52
【问题描述】:

我正在尝试使用 YouTube v3 API 获取和显示我的 YouTube 频道视频。我已经完成了一些初步的事情,比如在 Google Developer 控制台中启用 YouTube v3 API。我在互联网上的某个地方获得了此代码并按照说明进行了所有操作,但我的视频不会显示。

<?php 
//Get videos from channel by YouTube Data API
$API_key    = 'xxxxxxxx-xxxxxxxx'; //my API key
$channelID  = 'UCxxxxxxxx'; //my channel ID
$maxResults = 10;

$video_list = json_decode(file_get_contents('https://www.googleapis.com/youtube/v3/search?order=date&part=snippet&channelId='.$channelID.'&maxResults='.$maxResults.'&key='.$API_key.''));

foreach ($video_list->items as $item) {

    //Embed video
    if (isset($item->id->videoId)) {
        echo '<div class="">
                <iframe width="280" height="150" src="https://www.youtube.com/embed/'.$item->id->videoId.'" frameborder="0" allowfullscreen></iframe>
                <h2>'. $item->snippet->title .'</h2>
            </div>';
    } 

} ?>

<?php //echo count($video_list); ?>

$video_list 数组返回空。

我做错了什么?

【问题讨论】:

    标签: php youtube-api


    【解决方案1】:

    我用我的密钥和一个示例频道运行了你的代码,视频显示正常。

    将完成的 url 复制到您的浏览器并检查结果以验证 API 是否返回您期望的内容。

    【讨论】:

    • 原来 allow_url_fopen 在我的服务器中被禁用。我之前关闭了错误报告,这解释了为什么我在页面上没有得到任何响应。如果它允许,那么它现在可以工作了。谢谢
    【解决方案2】:

    我认为您使用的是非常古老的示例代码。 Google 有一个名为 Google API PHP Client 的 PHP 库,它将负责身份验证等。尝试使用它。

    您还可以在他们的文档页面中获得示例 PHP 代码:

    【讨论】:

      猜你喜欢
      • 2017-11-21
      • 2015-04-17
      • 2015-03-11
      • 2018-06-11
      • 2013-11-12
      • 2018-10-31
      • 2015-01-14
      • 2015-07-22
      • 2015-02-16
      相关资源
      最近更新 更多