【问题标题】:Error: invalid_request getToken错误:invalid_request getToken
【发布时间】:2016-02-25 18:05:37
【问题描述】:

我已采取的步骤

使用 Google 的开发者控制台:

  1. 我创建了一个项目并为该项目创建了一个客户端。
  2. 我已激活 Youtube API 数据
  3. 我将回调设置为http://localhost:3000/callback
  4. 我已经下载了“client_secrets”。

节点服务器初始步骤:

  1. 我使用“client_secrets”创建了一个名为 oauth2Client 的新 OAuth2Client 实例
  2. 我使用指定以下内容的 oauth2Client 变量生成了 URL:

var url = oauth2Client.generateAuthUrl({
            access_type: 'offline', //returns fresh token,
            scope: 'https://www.googleapis.com/auth/youtube https://www.googleapis.com/auth/youtube.upload https://www.googleapis.com/auth/youtube.force-ssl https://www.googleapis.com/auth/youtubepartner'
        });

Google 授权页面:

  1. 我转到生成的 URL 并单击授权并重定向到我在 http://localhost:3000/callback 上的回调

节点服务器最终步骤:

  1. 我在 URL 中获得了“代码”(看起来像这样:4/gZpLEwZWD6OVEE7F5uXXXXXXXXXXXXXXXXXX
  2. 我尝试使用相同的 oauth2Client 变量来获取令牌,如下所示:

oauth2Client.getToken(code, function (err, tokens) {
    // set tokens to the client
    console.log('errors ' + err);
    console.log('tokens ' + tokens);
    oauth2Client.setCredentials(tokens);
})

console.log 的结果是:

 errors Error: invalid_request
 tokens null

问题

是什么导致了invalid_request?我错过了什么?


其他一些类似的问题提出了不同的解决方案

似乎有很多关于这个主题的问题,但大多数都是具体问题,答案往往非常模糊。 我在问一个一般性的问题并寻找一个具体的答案。

【问题讨论】:

  • 您没有提到构建 oauth2Client 实例,因此可能是 GutHub 上的 lib 问题github.com/google/google-api-nodejs-client/issues/231
  • 我创建了实例,但是是的,我忘了提及它。
  • 对你有帮助吗(用字符串替换数组)?
  • 好的,谢谢!就是这样。继续添加它作为答案。

标签: node.js google-oauth google-api-nodejs-client


【解决方案1】:

您没有提到构建 oauth2Client 实例,因此可能是 GutHub google-api-nodejs-client/issues/231 上的 lib 问题引起的问题

也就是说,构造函数 OAuth2 中的第三个参数将是一个字符串

client_secrets.web.redirect_uris[0]

var oauth2Client = new OAuth2Client(
 client_secrets.web.client_id, 
 client_secrets.web.client_secret, 
 client_secrets.web.redirect_uris[0] //<-- take first uri
);

【讨论】:

  • 这为我解决了这个问题。当您从 Google 控制台以 JSON 格式下载凭据时,该值将设置为一个数组,而 OAuth2Client 需要一个字符串
猜你喜欢
  • 1970-01-01
  • 2020-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-28
  • 2022-12-06
  • 2018-02-03
  • 2018-01-10
相关资源
最近更新 更多