google-calendar-api - 有没有办法邀请组织外的与会者?
问题描述
我已经阅读了谷歌日历 API 文档,但我找不到邀请帐户组织之外的访客的方法,这可能吗?
这是我使用 NodeJS 客户端的代码:
const auth = new google.auth.GoogleAuth({
keyFile: 'src/google-api/calendar-auth.json',
scopes: ['https://www.googleapis.com/auth/calendar'],
});
const calendar = google.calendar({ version: 'v3', auth });
calendar.events.insert({
calendarId: 'email-of-organization',
sendUpdates: 'all',
requestBody: {
start: {
dateTime: startDate.toISOString(),
timeZone: 'utc',
},
end: {
dateTime: endDate.toISOString(),
timeZone: 'utc',
},
summary: 'a summary',
description: 'a description',
attendees: [{ email: 'email@outside.org' }], // this email is outside my organization
},
});
错误:
Service accounts cannot invite attendees without Domain-Wide Delegation of Authority
即使我设置了域范围委派,错误仍然存在。
解决方案
基本上,当您将域范围的权限委派给您的服务帐户时,您授权您的服务帐户代表您域中的用户访问数据。请参阅将域范围的权限委派给服务帐户
一旦你完成了域范围内的授权,你的应用程序现在有权以你域中的用户的身份进行 API 调用(以“模拟”用户)。当您准备进行授权的 API 调用时,您可以指定要模拟的用户。
可以邀请域外的访客(使用您的用户帐户或服务帐户)。您可以选择在邀请域外的访客时警告用户。请参阅在 Google 日历活动中允许外部邀请
我尝试使用我的用户帐户创建一个活动,并使用events.insert添加来自域外的来宾。它已成功创建。因此,如果您让服务帐户模拟您域中的用户,它应该能够创建活动并邀请域外的访客
推荐阅读
- php - 如何处理动态多维输入名称 (PHP) 的 Post 值
- vba - 访问 vba docmd.applyfilter 获取日期
- c++ - 设置编译器库搜索路径不起作用
- javascript - 为什么这些三元表达式会给出不同的结果?
- r - 从一年中的一周获取月份
- aws-lambda - 部署时,ENV 的自定义变量总是出错,无服务器框架
- numpy - 无法为 python 3.6.5 安装 numpy
- payment-gateway - 万事达卡托管结帐集成问题
- typo3 - 如何使用错误处理配置从 Extbase 返回正确的 404 错误
- php - 删除特定 URL 域 php 的标签