【发布时间】:2017-01-19 07:58:58
【问题描述】:
我已经创建了具有域范围委派及其范围(在管理控制台和开发者控制台中)的服务帐户,如文档中所述。我已经尝试了一个星期,但我被卡住了。这是我的代码:
const google = require('googleapis');
const gmail = google.gmail('v1');
const directory = google.admin('directory_v1');
const scopes = [
'https://www.googleapis.com/auth/gmail.readonly',
'https://www.googleapis.com/auth/admin.directory.user.readonly'
];
const key = require('./service_key.json');
var authClient = new google.auth.JWT(
key.client_email,
key,
key.private_key,
scopes,
"kruno@example.com"
);
authClient.authorize(function(err, tokens){
if (err) {
console.log(err);
return;
}
// API call methods here...
});
我得到这个错误:
错误:未授权客户端
我无法理解:
- 在没有任何用户交互的情况下,从服务器端脚本调用 Google API 方法是否合适? (仅限域下)
- 服务帐户和实际用户帐户如何以这种方式通信?
- 我听说了回调 URI,我错过了吗?
【问题讨论】:
标签: node.js google-api authorization jwt google-api-nodejs-client