2017-09-01 164 views
4

我想通过谷歌日历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 = {}; 

感谢您的任何帮助!

+0

您可能想要在[报告的问题]中遵循可能的解决方案(https://github.com/google/google-api-nodejs-client/issues/461)。您可能以不同的方式实现了您的代码,并确保为您的服务帐户启用域范围委派。希望这可以帮助。 –

回答

0

对于将来需要此功能的任何人。它开始工作后:

1)实现全域代表团 2)将用户添加到服务帐户作为所有者 3)可能是最重要的**:去谷歌上的管理员,给了服务帐户的API存取

+0

我相信我们已经设置好了,但无法启动它。你可以提供一些关于这些步骤的清晰度吗? – BoredAndroidDeveloper