Error: invalid_request getToken
Error: invalid_request getToken
我采取的步骤
使用Google的开发者控制台:
- 我创建了一个项目并为该项目创建了一个客户端。
- 我已经激活 Youtube API 数据
- 我将回调设置为 http://localhost:3000/callback
- 我已经下载了 "client_secrets".
节点服务器初始步骤:
- 使用 "client_secrets" 我创建了一个新的 OAuth2Client 实例,我将其命名为 oauth2Client
- 我使用指定以下内容的 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授权页面:
- 我转到已生成的 URL 并单击授权并在 http://localhost:3000/callback
上重定向到我的回调
节点服务器最后步骤:
- 我在 URL 中得到了 "code"(看起来像这样:4/gZpLEwZWD6OVEE7F5uXXXXXXXXXXXXXXXXX)
- 使用相同的 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 问题 google-api-nodejs-client/issues/231
也就是说,构造函数 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的开发者控制台:
- 我创建了一个项目并为该项目创建了一个客户端。
- 我已经激活 Youtube API 数据
- 我将回调设置为 http://localhost:3000/callback
- 我已经下载了 "client_secrets".
节点服务器初始步骤:
- 使用 "client_secrets" 我创建了一个新的 OAuth2Client 实例,我将其命名为 oauth2Client
- 我使用指定以下内容的 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授权页面:
- 我转到已生成的 URL 并单击授权并在 http://localhost:3000/callback 上重定向到我的回调
节点服务器最后步骤:
- 我在 URL 中得到了 "code"(看起来像这样:4/gZpLEwZWD6OVEE7F5uXXXXXXXXXXXXXXXXX)
- 使用相同的 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 问题 google-api-nodejs-client/issues/231
也就是说,构造函数 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
);