node.js - OAuth2Client.getToken 始终返回“未定义”
问题描述
我正在使用https://github.com/googleapis/google-api-nodejs-client#installation上的官方指南使用 OAuth2 部分开始“身份验证和授权”
遵循这些非常简单的几行代码根本无法工作。我被正确重定向,然后我登录并允许请求的范围。此时我被重定向到回调 URL,我成功解析了查询字符串中的代码,并通过调用将其传递给我的 OAuth2Client 对象oauth2Client.getToken(code)
。这是我完全迷失的地方,因为无论如何这个方法总是返回“未定义”。根本不会抛出任何错误,它只是“未定义”。至少可以说不是很有帮助。
const {google} = require('googleapis');
const oauth2Client = new google.auth.OAuth2(
'hidden',
'hidden',
'hidden'
);
/* GET home page. */
router.get('/home', function(req, res, next) {
try {
if (req.url.indexOf('/home') > -1) {
var code = req.query.code;
var error = req.query.error;
var session = req.session;
if(code!=null){
const {tokens} = oauth2Client.getToken(code); //Always returns undefined?
oauth2Client.credentials = tokens;
}
else{
res.redirect('/');
}
}
} catch (e) {
res.redirect('/err')
}
});
解决方案
推荐阅读
- linux - Bash 从文件中读取参数
- google-chrome - 如何为 Chrome.exe 设置属性 - 需要替换快捷方式参数
- c++ - 在 MFC 中更改静态文本颜色
- botframework - 将 azure 中继服务与 Bot 模拟器连接
- jira - Jira 到 Azure 板的迁移不适用于 Solidify 工具
- javascript - 如何在拖动时修复 Div 元素“跳跃”?
- javascript - 如何显示我期望的数组结果 JavaScript
- c# - 多线程:发布者线程和订阅者线程之间的混淆
- abp - 在 abp.io 中翻译德语变音符号
- python - 从字符串转换到列表中的倒数第二个条目后舍入浮点数