ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2019-05-21 14:27:24  阅读:169  来源: 互联网

标签:php youtube youtube-api


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

即使格式或大小不正确,基于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,youtube-api
来源: https://codeday.me/bug/20190521/1147524.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有