我正在使用 Youtube APIv2 开发一个项目。
我通过 Zend Gdata 通过 Zend Framework 使用 API。
我的应用程序正在查询 youtube api,获取视频提要,然后为每个条目获取每个视频条目的名称、拇指、视图、持续时间和标签。
正如谷歌 (http://apiblog.youtube.com/2012/08/video-tags-just-for-uploaders.html) 宣布的那样,现在获取每个视频条目的视频标签,youtube api 请求将通过以下方式进行身份验证拥有 youtube 上视频的用户以检索这些视频标签。
我所做的只是在我初始化 *Zend_Gdata_YouTube* 对象时添加一个开发者密钥和一个 httpClient 对象,如下所示:
$developerKey = 'mydevkey';
$authenticationURL = 'https://www.google.com/youtube/accounts/ClientLogin';
$idApplication = 'my_app_id';
$idClient = null;
$httpClient = Zend_Gdata_ClientLogin::getHttpClient(
$username = 'google_account_email',
$password = 'google_account_pass',
$service = 'youtube',
$client = null,
$source = 'my_app',
$loginToken = null,
$loginCaptcha = null,
$authenticationURL);
$this->yt = new Zend_Gdata_YouTube($httpClient, $idApplication, $idClient , $developerKey);
$this->yt->setMajorProtocolVersion(2);
我在 Mamp Pro 的本地项目中测试了这段代码,它工作得非常好,按原样检索视频标签,这意味着代码可以工作。
当我想把我的代码放在我的生产服务器上时,我的问题就开始了,*Zend_Gdata_ClientLogin::getHttpClient* 对象不工作并不断给我错误代码“ Google 身份验证失败。原因:BadAuthentication ”
我检查了其他人是否遇到了我的问题,然后我来到了这篇文章“http://apiblog.youtube.com/2011/03/clientlogin-fail.html”,但这四种情况都与我的问题不相似。
有人可以帮助我吗?我的生产服务器是否缺少模块或授权方面的某些内容(我检查它看起来不像)。
谢谢你。