google-calendar-api - 从服务帐户模拟 gCal 用户
问题描述
看起来像去年年底,谷歌改变了日历 API 的行为,不允许服务帐户与与会者一起创建日历事件。
https://github.com/googleapis/google-api-php-client/issues/1725
https://support.google.com/calendar/thread/16769831?hl=en
因此,要与与会者一起创建活动,必须确保为服务帐户设置域范围的委派,然后为服务帐户尝试写入活动的日历指定目标/委派帐户。我做了前者,后者我有以下代码......
const jwt = jsonwebtoken.sign({
iss: GOOGLE_CALENDAR_SERVICE_ACCOUNT_EMAIL,
scope: SCOPES,
aud: 'https://oauth2.googleapis.com/token',
iat: currentUnixTimeInSeconds,
exp: currentUnixTimeInSeconds + 3600,
sub: GOOGLE_CALENDAR_TARGET_ACCOUNT_EMAIL,
},
privateKey,
{
algorithm: 'RS256',
header: {
alg: 'RS256',
typ: 'JWT',
},
}
);
...然后调用https://oauth2.googleapis.com以获取不记名令牌,但它总是出错。(带有“无效的 JWT:观众检查失败。正确的观众是......”后面是一个看起来很长的不记名令牌 URL”
)
针对 Google 日历 API 模拟服务帐户的正确方法是什么?
解决方案
推荐阅读
- pytorch - 如何检查一个模块是否嵌套在另一个模块中的某个地方
- cookies - Wpml cookie想阻止我的rest api响应
- xpath - 使用 XPath 1.0 查找带有数字和点的元素
- excel - 如何在 Excel 中将前导零添加到固定的字母数字长度?
- angular - Angular:如何分别显示另一个组件
- javascript - Next 带有动态路由的 js 模态
- excel - 当我将 Access 报告导出到 XLS 文件时,仅导出前 23 行
- python - 如何将特定时间段内的数据转换为nan?
- javascript - 如何使用 JavaScript 在 UTC 中获取 Date 对象?
- html - 如何从特定 HTML 标签内的相同 html 标签中获取一行中的整个文本?