Oauth Youtube API-尽管登录正确,但未进行身份验证

Oauth Youtube API-尽管登录正确,但未进行身份验证,oauth,youtube-api,Oauth,Youtube Api,我在谷歌有一个账户,可以通过www.youtube.com完全登录。但是,当我通过Youtube API使用以下代码时: $httpClient = Zend_Gdata_ClientLogin::getHttpClient( $username = 'EXAMPLE@EXAMPLE.COM', $password = 'EXAMPLE', $service = 'youtube', $client = null,

我在谷歌有一个账户,可以通过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");
我收到以下错误:
“与Google的身份验证失败。原因:BAD身份验证“


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

也许你已经在gmail帐户上启用了两步验证, 注意本页顶部的信息:


也许你已经在你的gmail帐户上启用了两步验证, 注意本页顶部的信息:


问题在于您使用的是clientLogin,它是为已安装的应用程序设计的,而不是web应用程序。 您应该将其更改为AuthSub,以便获得进行API调用的令牌

这就是说,我们有同样的问题,我们没有改变这一点(没有足够的时间改变谷歌、推特和Facebook的所有授权更改,不是吗?)。我们的解决方案是通知有此问题的客户,他们必须通过单击此链接禁用验证码,并按照说明操作:


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

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

这就是说,我们有同样的问题,我们没有改变这一点(没有足够的时间改变谷歌、推特和Facebook的所有授权更改,不是吗?)。我们的解决方案是通知有此问题的客户,他们必须通过单击此链接禁用验证码,并按照说明操作:


这不是正确的方法,但这是一种方法,第2步没有打开,但是我启用了它并为此服务生成了特定于应用程序的密码,它工作得非常好。第2步没有打开,但是我启用了它并为此服务生成了特定于应用程序的密码,它工作得非常好。