模仿用户与谷歌日历API oauth2服务帐户(node.js)
问题描述:
我想通过谷歌日历API使用服务器进行服务器身份验证。在他们提到的文档中,您可以模拟用户。我已将所有者权限添加到想要模拟的帐户,并确保已启用域范围的委派。从我读过的所有内容中,'user @ example'应该指定模拟器,但它不起作用。我拥有所有创建活动等的功能,但我无法将其从Google随机生成的电子邮件中删除。模仿用户与谷歌日历API oauth2服务帐户(node.js)
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]'
);
jwtClient.authorize(function(err, token) {
if(err) {
//console.log(err);
}
console.log('token',token);
//listCalendars(jwtClient);
});
module.exports = {};
感谢您的任何帮助!
答
对于将来需要此功能的任何人。它开始工作后:
1)实现全域代表团 2)将用户添加到服务帐户作为所有者 3)可能是最重要的**:去谷歌上的管理员,给了服务帐户的API存取
+0
我相信我们已经设置好了,但无法启动它。你可以提供一些关于这些步骤的清晰度吗? – BoredAndroidDeveloper
您可能想要在[报告的问题]中遵循可能的解决方案(https://github.com/google/google-api-nodejs-client/issues/461)。您可能以不同的方式实现了您的代码,并确保为您的服务帐户启用域范围委派。希望这可以帮助。 –