我正在尝试通过 google calendar API 使用服务器进行服务器身份验证。他们在文档中提到您可以冒充用户。我已向我想要模拟的帐户添加了所有者权限,并确保启用了域范围的委派。据我所知,“user@example”应该指定模仿者,但它不起作用。我可以使用创建事件等的所有功能,但除了随机生成的谷歌电子邮件之外,我无法从电子邮件中获取它。
这是我的代码:
var google = require('googleapis');
var calendar = google.calendar('v3');
var scopes = ['https://www.googleapis.com/auth/calendar'];
var key = require ('./xxx.json'); // private json
console.log("Calendar Service connected");
var jwtClient = new google.auth.JWT(
key.client_email,
null,
key.private_key,
scopes,
'[email protected] /cdn-cgi/l/email-protection'
);
jwtClient.authorize(function(err, token) {
if(err) {
//console.log(err);
}
console.log('token',token);
//listCalendars(jwtClient);
});
module.exports = {};
我让它工作后:
- 启用域范围的委派
- 将用户作为所有者添加到服务帐户
-
最重要的是:进入 google admin 并授予 api 访问服务帐户的权限
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)