php - YouTube PHP API - 获取以前上传的视频的状态?

标签 php youtube youtube-api

刚刚开始深入研究 YouTube PHP API,并让基于浏览器的 Zend 上传脚本开始工作。但是,我找不到任何关于如何在上传视频后检索视频状态的文档。我需要这个的主要原因是为了错误处理——我需要能够知道视频是否被 YouTube 批准,因为从技术上讲,有人可以上传太大的图像或文件。我需要知道该视频已获批准,以便我知道在最终用户返回网站时向他们显示什么消息(即“您的视频正在直播”或“视频上传失败”)。

基于 YouTube PHP 浏览器的上传返回一个 URL 参数状态 200 即使格式或大小不正确,这当然没有帮助。关于如何从 YT 对象获取此信息的任何想法?

总而言之,当用户返回网站时,我希望能够根据他们的特定视频 ID 创建一个 YT 对象,并希望能够确认它没有被拒绝。我正在使用 ClientLogin 启动 YouTube 对象:

$authenticationURL= 'https://www.google.com/accounts/ClientLogin';
$httpClient = Zend_Gdata_ClientLogin::getHttpClient(
              $username = 'myuser@gmail.com',
              $password = 'mypassword',
              $service = 'youtube',
              $client = null,
              $source = 'MySource', // a short string identifying your application
              $loginToken = null,
              $loginCaptcha = null,
              $authenticationURL);

有什么想法吗?

最佳答案

哇,在过去几天四处搜索和拼凑代码后,终于找到了这个问题的答案。创建 $yt 对象后,使用以下命令检查状态:

$yt->setMajorProtocolVersion(2);
$youtubeEntry = $yt->getVideoEntry('YOUR_YOUTUBE_VID_ID', null, true);

if ($youtubeEntry->getControl()){
    $control = $youtubeEntry->getControl();
    $state = $control->getState()->getName();
}

回显 $state 如果视频因任何原因未获批准,则显示字符串 'failed'。否则它是空的,这意味着它已获批准并且可以继续使用(猜测其他状态名称将是:处理、拒绝、失败、受限,如 Mient-jan Stelling 上面所建议的)。

这个答案对于初次使用 YouTube API 的人来说是多么艰难。解决了! (拍拍自己的背)

关于php - YouTube PHP API - 获取以前上传的视频的状态?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7554486/

相关文章:

php - 如何在 xampp 中启用 curl?

iframe - iframe播放按钮上的图像z-index,无需js直接通过点击

c# - 如何使用WPF MediaKit播放YouTube视频?

javascript - YouTube 数据 API 表示我闲置几个小时后已超出每日使用限制

javascript - 当我切换到网站的 SSL 加密时,我的 YouTube 视频停止播放

javascript - 重复注入(inject) Javascript 以进行 YouTube API 调用?

PHP int to date 问题

php - 在提交表单时重定向到推荐人

javascript - 数据表上的范围日期搜索 (CodeIgniter)

php - 在同一行插入每种类型商品的数量