使用Google Calendar Web API在(公司)日历上动态创建事件?

时间:2018-09-18 00:59:03

标签: api events dynamic google-calendar-api

我已经查看了Google Calendar API文档,但无法找到有关在预定义日历上创建事件的信息。

Browser Quickstart docs通过验证 my 日历的使用来启动和运行非常有用。但是,您对如何允许用户在预定义的日历上创建事件有建议吗?

用例:
我们有几个Web表单供用户(潜在客户)填写。当满足某些条件时,我们希望将详细信息从网络表单传递到公司日历上的Google日历活动。

  1. 用户填写的网络表单包含一些问题,即两个日期/时间选择器
  2. 在提交表单时,将表单值传递到Google Calendar API-使用在表单中提交的信息动态创建事件
  3. 具有标准日历功能; Google日历生成的通知等

更多说明:

  • 用户不需要查看日历的权限
  • 日历集成与用户无关,他们只是提交联系表

它似乎是唯一的required event fields are start and end time,因此很容易从我刚刚迷失在如何设计与我们公司日历(例如, “用户创建的事件”。

我知道可以使用Zapier完成此操作。不过,我想学习正确的方法。

2 个答案:

答案 0 :(得分:0)

基于Calendar API Sharing and Attendees

  

有两种不同的共享日历和事件数据的方式   其他人。

     

首先,您可以共享整个日历,并指定级别的   访问。例如,您可以创建团队日历,然后执行   像这样:

     
      
  • 授予团队中的所有成员添加和修改日历中事件的权限
  •   
  • 授予您的老板查看日历中事件的权利
  •   
  • 授予您的客户只查看您有空或忙碌的时间的权限,而不是事件的详细信息
  •   
     

您还可以调整对共享中单个事件的访问   日历。

通过ACL - access control list,您可以使用google api与他人共享日历上创建的特定事件。

答案 1 :(得分:0)

我为组织使用Zapier来完成完全相同的方案。理想情况下,您使用的Webform服务具有与Zapier的内置集成,否则将需要一些编码才能完成这项工作。

假设您的Webform服务已与Zapier集成:

触发事件:可能会出现“在提交新记录时执行快速更改”的触发情况。激活此触发器后,根据您的Webform服务发送数据的方式,您可能会收到与输入数据相对应的值列表。

可选操作::根据通过Web表单输入的数据的一致性,您可能还需要考虑使用Zapier代码模块添加步骤。代码模块允许您获取在触发事件期间收集的数据,并根据需要对其进行操作(我个人使用此步骤来检查是否正确输入了数据)。也就是说,这是一个高级步骤,需要使用javascript或python进行一定的编码经验。请参阅Python文档here和Java文档here

Google日历操作::如果尚未登录,则需要授权Zapier有权读取和写入日历。 Zapier使这一过程变得非常简单。单击“连接帐户”按钮,将出现一个对话框,要求您登录Gmail帐户。连接帐户后,即可设置模板。使用模板中的下拉菜单,您可以选择要在每个字段中输入的数据。假设一切正常,那么您应该会看到添加到日历中的信息。

有关更多说明,请参见文档here

假定您的Webform服务未与Zapier集成:

这有点棘手,这取决于您的Webform服务是否允许您根据新表单的输入发出POST请求。这也将需要更多的编程才能启动和运行。不知道您用来捕获用户输入的平台会迫使我做出很多假设。

因此,假设您的Webform平台能够使用来自新输入记录的数据发出POST请求,或者允许您对其进行编程,则可以使用Zapier的webhook模块作为触发器。请参阅Zapier的webhook文档here

为此,您必须首先通过Zapier创建一个Webhook端点。端点只是一个URL,正在等待接收来自外部源(在本例中为Webform平台)发送给它的数据。

zap模板如下所示:

触发事件:Zapier Webhook端点捕获的POST请求数据。一旦捕获了数据,就可以像使用标准zap一样使用它。也就是说,现在将以键/值对形式的数据填充到Zapier的下拉列表中,您可以使用该下拉列表将信息从一个步骤移至下一个步骤。

可选操作:您可以再次利用Zapier的代码模块将逻辑应用于捕获的数据。

Google Calendar Action :与上面列出的“ Google Calendar Action”相同。


编辑:

在重新阅读您的问题时,我意识到您正在寻求使用zapier实现没有的目标。我暂时不回答这个问题,因为它可能对您有价值。如果没有,我可以将其删除。