【问题标题】:g-suite Google Calender Apps script On Event Save/Updateg-suite 谷歌日历应用脚本关于事件保存/更新
【发布时间】:2021-02-10 06:47:40
【问题描述】:

首先,我是 Google Workspace 的新手,这是我第一次开发插件。 我正在尝试使用 Google Apps 脚本开发 Google Workspace(gsuite) 插件, 我的主要目标是:

  1. 每当我在 Google 日历中create/save/update 发生事件时,我想发出警报,询问 okcancel,如果我单击 取消,则不应创建该事件,如果我点击 ok 然后应该创建事件并且脚本函数应该使用以下参数调用我的 API 端点:

     {
         summary: summary_of_the_event,
         created: event_created_or_updated_date,
         googleCalendarId: calender_id
     }
    
    

这是对 Google 日历 Apps 脚本的引用:

https://developers.google.com/apps-script/reference/calendar/calendar-app

感谢您的帮助。

【问题讨论】:

  • 如果您正在与updated event 交谈,我相信触发器会在事件更新后发生。这是event objects 的链接也许有新的事件没有记录在案,我不能说,但据我所知,没有创建事件。
  • @Cooper 谢谢你,你能给我一个简单的例子来了解应该如何触发更新的事件吗?
  • 我从未使用过它,但我想它是在您编辑事件时触发的。可能值得查看 JSON.stringify(event object) 以了解真实对象包含的内容。通常它包含的内容比文档中显示的要多。
  • 你的doGet在哪里?
  • @Baby_Boy 对不起,我还没写,因为我是新人

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


【解决方案1】:

关于日历插件的一些想法

  • CalendarApp 具有 installable calendar triggerspecification

    当用户的日历事件被更新(创建、编辑或删除)时触发日历触发器。

    • Google Workspace 插件中的可安装触发器 can be used

    • 但是,这个可安装的触发器仅在事件创建/更新后触发,因此它可以帮助您取消事件创建,而不是事后手动删除事件。

    • 还请注意,当触发器触发时,它不会为您提供有关创建/更新事件的任何信息 - 您必须手动查找此事件,例如通过查询用户日历中创建/更新最少的事件。

  • Google Workspace 日历插件具有 manifest trigger for updating calendar events calendar.eventUpdateTrigger

    • 因此:

    仅当用户进行以下一项或多项编辑时才会触发此触发器:

    添加一名或多名与会者。

    删除一名或多名与会者。

    添加或切换到不同的会议解决方案。

  • Google Workspace 日历插件还具有清单触发器 calendar.eventOpenTrigger

    • 当你打开一个事件时它会触发(这就是你想要的!)。
    • 但是,这仅适用于已经存在的事件 - 不适用于用户打开日历 UI 界面以创建新事件时
  • 您可以使用Card Service 创建自定义插件界面,而不是让用户通过常规日历 UI 创建/更新事件,用户可以在其中指定他想要创建事件
    • 在卡片界面中,更容易实现确定/取消功能(作为卡片),然后(如果单击“确定”)以编程方式为用户创建事件。

【讨论】:

  • 感谢男士指出我正确的方向,我已经设法编辑清单并启用界面。现在我想向用户显示一个警报,但我找不到一个关于如何实现一个有和没有功能的警报框的例子
  • 不确定是否可以实现警报,但您可以在卡片中嵌入button set 并使用onClickAction 实现“确定/取消”功能。
  • 您知道如何在保存/更新谷歌事件时停止并再次恢复吗?
  • 停止和恢复什么?
猜你喜欢
  • 2020-08-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-08
  • 2022-12-21
  • 1970-01-01
  • 2015-01-08
相关资源
最近更新 更多