【问题标题】:Trying to fetch YouTube video title and description尝试获取 YouTube 视频标题和说明
【发布时间】:2016-08-03 01:50:28
【问题描述】:

我想通过视频 ID 获取 YouTube 视频标题和说明。这是我尝试过的:

$videoid = 'UW7Uzqh8EnE';
$apikey = '***************Got From youtube data api*****************';

$json = file_get_contents('https://www.googleapis.com/youtube/v3/videos?id='.$videoid.'&key='.$apikey.'&part=snippet
$ytdata = json_decode($json);
echo '<h1>Title: ' . $ytdata->items[0]->snippet->title . '</h1>';
echo 'Description: ' . $ytdata->items[0]->snippet->description;

但是上面的代码给出了这个错误:

PHP 警告: file_get_contents(https://www.googleapis.com/youtube/v3/videos?id=byp94CCWKSI&key=************amp;part=sn-p,contentDetails,statistics,status): 无法打开流:HTTP 请求失败! HTTP/1.0 403 禁止

PHP注意:试图获取非对象的属性

我仍然收到 same 错误。

【问题讨论】:

  • 如果您生成了新密钥,最多需要 8 小时才能激活,那么只有您可以从 youtube api 获得响应
  • @Norman 那个钥匙不是真的
  • @Apoorv 严重不。密钥会立即生成,并在您创建后立即生效。 sagar 查看 Google php 客户端库,它会让您的生活更轻松。

标签: php json video youtube youtube-api


【解决方案1】:

1。对于视频标题

    echo video_title('VIDEO_ID');

    function video_title($id)
    { 
        $content = file_get_contents("http://youtube.com/get_video_info?video_id=" . $id);
        parse_str($content, $output);
        return $output['title'];
    }

2。对于视频说明

    echo video_description('VIDEO_ID');

    function video_description($id)
    { 
        $content = file_get_contents("https://www.googleapis.com/youtube/v3/videos?part=snippet&id=" . $id . "&key=YOUR_API_KEY");
        $output = json_decode($content, true);
        return $output['items']['0']['snippet'];
    }

【讨论】:

  • 没有解释为什么file_get_contents 在这里工作而不是在原始帖子中。我也有同样的问题,请问怎么解决?
猜你喜欢
  • 2017-04-09
  • 2017-03-22
  • 1970-01-01
  • 1970-01-01
  • 2013-03-23
  • 2015-08-09
  • 1970-01-01
  • 2015-10-23
  • 2010-11-16
相关资源
最近更新 更多