【问题标题】:Impersonate user with google calendar API oauth2 service account (node.js)使用谷歌日历 API oauth2 服务帐户(node.js)模拟用户
【发布时间】:2018-02-10 05:58:50
【问题描述】:

我正在尝试通过 google 日历 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,
  'user@example.com'
);
jwtClient.authorize(function(err, token) {
  if(err) { 
    //console.log(err);
  }
  console.log('token',token);
  //listCalendars(jwtClient);
});

module.exports = {};

感谢您的帮助!!

【问题讨论】:

标签: node.js jwt google-calendar-api


【解决方案1】:

适用于未来需要此功能的任何人。它在以下时间开始工作:

1) 启用域范围的委派 2)将用户添加到服务帐户作为所有者 3) 可能是最重要的**:继续使用 google admin 并授予 api 访问服务帐户的权限

【讨论】:

  • 我相信我们已经设置好了,但无法让它工作。 @dan-wolfgram 你能提供一些关于这些步骤的说明吗?
猜你喜欢
  • 2017-12-24
  • 2019-06-10
  • 1970-01-01
  • 2016-09-30
  • 1970-01-01
  • 1970-01-01
  • 2017-01-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多