1

我正在使用 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”,但这四种情况都与我的问题不相似。

有人可以帮助我吗?我的生产服务器是否缺少模块或授权方面的某些内容(我检查它看起来不像)。

谢谢你。

4

1 回答 1

0

我有同样的问题。我的脚本在本地工作,但不在生产中。

将您的密码更改为新密码并首先在生产环境中运行您的脚本。

于 2014-09-11T17:50:46.327 回答