如何使用 Google 日历 API 发布活动?

How to publish an event using the Google Calendar API?

我可以使用 insert 创建一个活动,但我想得到 link 我可以给我的用户,所以这个屏幕会出现:

link 看起来像这样:https://calendar.google.com/event?action=TEMPLATE&tmeid=Mm4zaXFnZHEyZHRwMG1qOTRtdW1idW5wanMgbFjaG9jYWJAbQ&tmsrc=myemail@gmail.com

在 GUI 中,这称为“发布事件”

如何使用 API 执行此操作?

这个答案怎么样?

我认为日历 API 可能无法直接检索 link。但是,我认为 link 的结构可以使用日历 ID 和 htmlLink 通过日历中的“事件:获取”和“事件:列表”方法检索到的事件来创建 API.在这个答案中,我想为此提出方法。该方法的流程如下

流量:

  1. 检索日历 ID。

    • 你的情况是 tmsrc=myemail@gmail.com
  2. 检索事件 ID。

    • 在这种情况下,您可以使用日历 API 中“事件:列表”的方法检索此信息,如下所示。

        curl \
          'https://www.googleapis.com/calendar/v3/calendars/{calendarId}/events?timeMax=###&timeMin=###' \
          --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
          --header 'Accept: application/json' \
          --compressed
      
  3. 使用日历API中的“事件:获取”方法检索htmlLink。请在此处使用检索到的事件 ID。

     curl \
       'https://www.googleapis.com/calendar/v3/calendars/{calendarId}/events/{eventId}' \
       --header 'Authorization: Bearer [YOUR_ACCESS_TOKEN]' \
       --header 'Accept: application/json' \
       --compressed
    
    • htmlLink 就像 https://www.google.com/calendar/event?eid=###### 是 base65 编码的事件 ID 和日历 ID。 所以,你也可以创建这个。这用于下一节。
  4. 创建你想要的link。

    • link就像https://calendar.google.com/event?action=TEMPLATE&tmeid=###&tmsrc={calendarId}
    • ###eid 的值可以从检索到的 htmlLink.
    • 中检索出来

参考文献:

我认为作为测试,您可以使用以下页面的“试试这个 API”来检索值。