【发布时间】:2017-11-17 05:45:22
【问题描述】:
使用谷歌 API
function googleLogin(req, res, next) {
var google = require('googleapis');
var plus = google.plus('v1');
SCOPES = 'https://mail.google.com';
var OAuth2 = google.auth.OAuth2;
var oauth2Client = new OAuth2(
'215995260545-6rp2pg69olionsiugudcl4fni3o36ap9.apps.googleusercontent.com',
'xxxxxxxxxxxxxxxxxxxxxxxx',
'https://developers.google.com/oauthplayground'
);
oauth2Client.setCredentials({
access_token: req.query.ac_token,
refresh_token: req.query.rf_token
});
plus.people.get({
userId: 'me',
auth: oauth2Client
}, function(err, response) {
if (err) console.log(err);
console.log(response);
});
}
当我运行此代码时,我收到类似**insufficient permission** 的错误。我哪里错了??
"code": 403,
"errors": [
{
"domain": "global",
"reason": "insufficientPermissions",
"message": "Insufficient Permission"
}
]
我该如何解决这个问题?我还提到了 Gmail API 范围。
【问题讨论】:
-
如何确认访问令牌的范围?您可以使用此 curl 命令确认检索到的访问令牌中包含的范围吗?
curl -d "access_token=### your access token ###" https://www.googleapis.com/oauth2/v3/tokeninfo这个 curl 命令可以获取访问令牌的信息。通过这个,您可以知道您的访问令牌是否包含https://www.googleapis.com/auth/userinfo.profile以检索基本配置文件信息。如果这对解决您的问题没有帮助,我很抱歉。
标签: node.js google-api google-oauth google-api-nodejs-client