获取视频信息Youtube(有时禁止某些视频)

时间:2013-10-28 15:30:42

标签: php video youtube youtube-api

我遇到了一个问题,我正在开发一个人们可以分享YouTube视频的网站,有时候,我收到一些错误的视频(不是全部),YouTube返回此信息:无法打开流:HTTP请求失败! HTTP / 1.0 403禁止

我想知道是否有每小时最大请求次数,例如提取视频? 我正在使用此地址来获取信息:http://gdata.youtube.com/feeds/api/videos?q= {VIDEO_ID}

还有我的代码:

<?php   
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, YT_API_URL . $post->get_youtubeVideo());
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
//$feed holds a rss feed xml returned by youtube API
$feed = curl_exec($ch);
curl_close($ch);

//Using SimpleXML to parse youtube's feed
$xml = simplexml_load_string($feed);

$entry = $xml->entry[0];
//If no entry whas found, then youtube didn't find any video with specified id
if($entry) {
    $media = $entry->children('media', true);
    $group = $media->group;

    $title = $group->title;
    $desc = $group->description;
    $thumb = $group->thumbnail[0];
    list($thumb_url, $thumb_width, $thumb_height, $thumb_time) = $thumb->attributes();
    $content_attributes = $group->content->attributes();

    echo '<div class="youtube-video-inpost group" data-video-id="'.$post->get_youtubeVideo().'">
        <div class="thumbnail"><div class="play-button"></div><img src="https://i1.ytimg.com/vi/'.$post->get_youtubeVideo().'/mqdefault.jpg" width="195" height="110" /></div>
        <div class="infos">
            <div class="title"><a href="http://www.youtube.com/watch?v='.$post->get_youtubeVideo().'" target="_blank" class="link-dark">'.$title.'</a></div>
            <div class="description">'.$desc.'</div>
        </div>
    </div>';
}

&GT;

是的,有人能帮帮我吗? 非常感谢!

1 个答案:

答案 0 :(得分:0)

欢迎使用StackOverflow!

是的,有一个&#34;最大数量的请求&#34;。它被称为配额。超过此限制后,您将无法在此日做任何进一步的请求。但是 - 这不是我们在这里寻找的!您收到错误消息:quotaLimitExceeded在其回复正文中。

403 Forbidden告诉我们所请求的资源(the video不公开可见! 可能它是private。您应该处理此问题并告诉您的用户视频需要公开!

代码改进

如果您在没有它的情况下无法正确执行请求,我强烈建议您使用Googles API PHP client!您的代码包含问题:

  • 您未经过身份验证 - &gt; 配额限制超出
  • 您无法获得详细的使用情况统计信息
  • 更多的难闻气味。