与会者在使用服务帐户、谷歌日历 API 创建活动时未收到会议邀请

Posted

技术标签:

【中文标题】与会者在使用服务帐户、谷歌日历 API 创建活动时未收到会议邀请【英文标题】:Attendee not getting meeting invite on creating event using service account, google calendar API 【发布时间】:2017-09-30 20:32:45 【问题描述】:

您好,我正在使用服务帐户创建一个活动并添加了参与者。响应正确返回,但与会者没有收到邀请邮件。服务帐户未与任何 Google 帐户链接(共享)。虽然要登录 API 控制台,但我使用了我的 gmail 帐户。日历 ID 被指定为主要。在服务帐户的日历或我的主日历上创建事件的位置?我在我的日历上看不到它,但返回状态为“已确认”的响应。我对邀请更感兴趣,而不是原始事件的创建位置。

任何帮助将不胜感激!!!

【问题讨论】:

【参考方案1】:

您需要记住,服务帐户不是您。将服务帐户视为虚拟用户。它有自己的日历帐户、驱动器帐户,可能还有更多。将事件插入主日历时,您将其插入服务帐户主日历。

你有几个选择。

    与服务帐户共享您的主日历。只需将其添加为用户即可。在设置中找到日历 ID,然后将服务帐号插入该日历 ID。 通过向您授予权限,让服务帐户与您共享其主日历。然后,您应该能够在 Google 日历网站的左下角看到它。 让服务帐户邀请您参加服务帐户 Google 日历上的活动。 让服务帐户与您一起创建活动 event.insert 检查请求正文。

【讨论】:

让用户 A 与服务帐户电子邮件地址共享日历。这是第一个选项。未经他人许可,您不能写入他人的日历。您必须使用 Oauth2 对用户进行身份验证(显示同意屏幕)或通过与服务帐户共享日历来预授权服务帐户。 我有一篇关于服务帐户如何工作的文章,它可以帮助您更好地了解您的选择daimto.com/google-developer-console-service-account 感谢您提供信息,但我们的要求有点不同,我们的应用程序在另一个平台上的 2 个用户(比如任何域上的 A 和 B)之间创建事件,我们希望将用户谷歌日历与创建的事件同步。所以我们考虑向用户 A 和 B 发送邀请,(理想情况下 A 应该是组织者,但我们不希望 A 显示用户同意屏幕,所以我们想创建一个服务帐户。我们想在服务上创建相同的事件帐户日历并向 A 和 B 发送邀请,以便他们可以通过接受将其附加到日历。(组织者并不重要) 检查选项四。让服务帐户创建以用户 A 和 B 作为参加者的活动。记得在正文中包含提醒和发送通知。服务帐户将拥有该活动并显示为组织者。没有办法解决这个问题,请记住,仅仅因为您想做某事并不意味着 API 会支持它。 是的,这正是我们想要的,我在请求标头参数中添加了 sendNotifications = true ,而不是在正文中(如其他论坛所述)(我还需要添加提醒吗?)。作为回应,我们会收到已确认的状态,以及活动 ID 和与会者信息,但与会者没有收到邀请邮件。

以上是关于与会者在使用服务帐户、谷歌日历 API 创建活动时未收到会议邀请的主要内容,如果未能解决你的问题,请参考以下文章

未在服务帐户谷歌日历 api php 中创建环聊链接

谷歌日历关注事件更新

使用 Outlook 日历休息 API 添加与会者会删除较旧的与会者

PHP Google 服务帐户身份验证日历 API

如何使用 android 使用日历 API 在谷歌日历上添加事件?

使用 python 从谷歌日历事件中提取与会者响应