【问题标题】:Issue adding non-Gmail user to Google Calendar with Google Apps Script使用 Google Apps 脚本将非 Gmail 用户添加到 Google 日历时出现问题
【发布时间】:2017-09-17 02:22:24
【问题描述】:

我在自动将成员添加到 Google 日历时遇到问题。

我的功能是:

function addToCalendar(email, calendar) {
    // Create a user with read/write access to calendar
    var resource = {
        scope: {
            type: 'user',
            value: email
        },
        role: 'writer'
    };

    Calendar.Acl.insert(resource, calendar);
}

此功能适用于 Gmail 帐户,但不适用于非 Gmail 帐户。非 Gmail 帐户仍列为已添加到日历中,但无法访问日历。

我认为问题源于需要 Gmail 帐户的 Google 日历。当您手动尝试添加用户时,您会收到以下提示:

截图:

有没有办法用 Google Apps 脚本复制这个邀请,或者有办法解决这个问题?

感谢任何帮助。

谢谢

【问题讨论】:

  • 我不确定是否有解决方法或允许(列出但无法访问日历,因为它们不是 gmail 帐户)。但是尝试将此添加到功能请求中,您可能会得到更好/具体的答案。抱歉,sendNotifications 是针对事件的,而不是针对 ACL 功能的。

标签: google-apps-script google-calendar-api


【解决方案1】:

根据我的经验,您使用的是谷歌日历 API 的 ACL 规则。

所以,您的功能代码是正确的,但要确保一件事。 您正在通过使用此功能向其他用户授予对您的谷歌日历的访问控制。因此,其他用户必须拥有 google 帐户。因为当将此访问权限授予其他用户时,您的共享日历将显示在他的日历 UI 中。

这是共享屏幕截图中绿色突出显示的日历,看起来像这样。

1) 对于日历,需要 google 帐户。 2) 对于活动,您可以将参加者添加到 gmail 或非 gmail 帐户。

【讨论】:

  • 谢谢普里扬克。我的问题是网络界面将提供邀请非 Gmail 帐户的选项。然后,用户可以创建一个帐户,然后将其自动添加到日历中。我希望能够复制这一点。似乎我唯一的选择是筛选非 Gmail 帐户(由于 GSuite 帐户,这并不明显)并告诉这些用户提供 Gmail 帐户。
猜你喜欢
  • 2019-07-05
  • 1970-01-01
  • 1970-01-01
  • 2023-03-25
  • 1970-01-01
  • 1970-01-01
  • 2018-09-17
  • 1970-01-01
  • 2022-09-25
相关资源
最近更新 更多