1

我有一个谷歌帐户,可以通过 www.youtube.com 登录。但是,当我通过 Youtube API 使用以下代码时:

$httpClient = Zend_Gdata_ClientLogin::getHttpClient(

          $username = 'EXAMPLE@EXAMPLE.COM',
          $password = 'EXAMPLE',
          $service = 'youtube',
          $client = null,
          $source = 'EXAMPLE', // a short string identifying your application
          $loginToken = null,
          $loginCaptcha = null,
          "https://www.google.com/accounts/ClientLogin");

我收到以下错误:'Authentication with Google failed. Reason: BadAuthentication'

为什么我可以使用完全相同的凭据登录 google 和 youtube,但不能登录 API?

4

2 回答 2

3

也许您在您的 gmail 帐户上启用了两步验证,请注意此页面顶部的消息:

https://developers.google.com/accounts/docs/AuthForInstalledApps

于 2012-10-18T13:36:50.970 回答
1

问题是您使用的是 clientLogin,witch 是为已安装的应用程序设计的,而不是 Web 应用程序。您应该将其更改为 AuthSub 以获取令牌以进行 API 调用。

也就是说,我们有同样的问题并且我们没有改变它(没有足够的时间来改变谷歌、Twitter 和 Facebook 中的 aaaall auth 更改,不是吗?)。我们的解决方案是通知有该问题的客户,他们必须通过单击此链接并按照说明禁用验证码:http ://www.google.com/accounts/DisplayUnlockCaptcha

这不是正确的方式,但这是一种方式

于 2013-09-05T10:15:24.027 回答