如何通过REST API创建外出类型的日历事件?

Kyl*_*yes 8 google-calendar-api

Google日历具有一种称为“不在办公室”的新事件类型,该事件类型将自动拒绝它所放置的所有事件以及在该事件的计划时间内进入的其他事件。

我通过API检查了这些事件对象之一,并简要检查了Google Calendar API文档,以查看是否存在以编程方式创建这些事件的方法。我在一个系统上工作,该系统在人们要离开办公室时将事件安排在人们的日历上,以作为一整天的事件来向其他员工提供可见性。我想将其更改为真实的外出事件类型(如果可以通过API进行)。

ben*_*cin 13

简短的回答:目前不起作用(截至 12/2023)

根据Google Calendar API,eventType属性现在是可写的,但只能default通过workingLocationAPI 创建事件。

eventType[string]:事件的特定类型。活动创建后无法修改。

可能的值为:

  • “默认”- 常规事件或未进一步指定。
  • “outOfOffice”- 不在办公室事件。必须提供 outOfOfficeProperties 参数才能生成有效事件(即使为空)。
  • “focusTime” - 焦点时间事件。必须提供 focusTimeProperties 参数才能生成有效事件(即使为空)。
  • “workingLocation” - 工作位置事件。

目前,只能使用 API 创建“default”和“workingLocation”事件。后续版本中将提供对其他事件类型的扩展支持。


简短的回答:目前不起作用(截至 08/2022)

Google Calendar API目前将该eventType属性公开为只读。当以有效负载发送时,它将被丢弃insert

eventType[string]:事件的特定类型。只读

可能的值为:

  • “默认”- 常规事件或未进一步指定。
  • “outOfOffice”- 不在办公室事件。

正如@ercliou在评论中提到的,可以在此处跟踪票证:issuetracker.google.com/issues/112063903


jst*_*zik -3

唯一将事件标记为“不在办公室”的事情是事件资源上的私有扩展属性:

"extendedProperties": {
    "private": {
        "everyoneDeclinedDismissed": "-1"
    }
}
Run Code Online (Sandbox Code Playgroud)

查看https://developers.google.com/calendar/v3/reference/events/insert该属性extendedProperties.private是可写的,因此您应该能够在那里设置它。