【问题标题】:Using Google Calendar Web API to dynamically create events on (company) calendar?使用 Google Calendar Web API 在(公司)日历上动态创建事件?
【发布时间】:2018-09-18 00:59:02
【问题描述】:

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

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

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

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

更多说明:

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

它似乎是唯一的required event fields are start and end time,所以很容易从日期选择器中获取我只是迷失了如何设计与我们公司日历的连接,例如名为“用户创建的事件”。

我知道这可以通过Zapier 完成。不过我想学习正确的方法。

【问题讨论】:

    标签: api events dynamic google-calendar-api


    【解决方案1】:

    基于Calendar API Sharing and Attendees:

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

    首先,您可以共享整个日历,指定级别的 使用权。例如,您可以创建一个团队日历,然后执行 比如:

    • 授予您团队的所有成员在日历中添加和修改活动的权利
    • 授予您的老板查看您日历上的活动的权利
    • 授予您的客户仅查看您空闲或忙碌时间的权利,但不能查看活动的详细信息

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

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

    【讨论】:

      【解决方案2】:

      我为我的组织使用 Zapier 来完成完全相同的场景。理想情况下,您使用的 webform 服务具有与 Zapier 的内置集成,否则将涉及一些编码来完成这项工作。

      假设您的网络表单服务与 Zapier 集成:

      触发事件:可能存在类似于“在提交新记录时执行 zap”的触发场景。激活此触发器后,根据您的网络表单服务发送数据的方式,您可能会收到与输入的数据对应的值列表。

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

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

      有关详细说明,请参阅文档 here。

      假设您的网络表单服务没有与 Zapier 集成:

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

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

      为此,您必须首先通过 Zapier 创建一个 webhook 端点。端点只是一个等待接收从外部源发送给它的数据的 url,在本例中是您的 webform 平台。

      zap 模板如下所示:

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

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

      Google 日历操作:与上面列出的“Google 日历操作”相同。


      编辑:

      在重新阅读您的问题时,我意识到您希望不使用使用 zapier 来实现这一目标。我将暂时保留这个答案,因为它可能对你有一些价值。如果没有,我可以删除它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2013-04-23
        • 1970-01-01
        • 1970-01-01
        • 2022-01-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多