在没有所有必要数据的情况下修补Google事件开始日期和结束日期

时间:2017-09-01 16:01:33

标签: java datetime calendar google-calendar-api

我通过Calendar API v3 Client Library for Java.

实施了修补 Google日历活动的客户端

方法:

com.google.api.services.calendar.Calendar.Events#patch

我遇到的问题是start实体中的endcom.google.api.services.calendar.model.Event字段是复杂的对象,需要构建几个东西:

  1. com.google.api.client.util.DateTime
  2. TimeZone
  3. DateTime具有名为dateOnly的字段,根据事件是否为全天事件,设置为true / false。问题来了。如果我只想更新日期,并且只从我的前端发送日期(没有标记,无论是全天事件还是dateOnly适用),我无法构建{{1对象,因为我不知道是否应该使用DateTime的构造函数,DateTime设置为true或设置为false。

    就请求而言,它是正确的。由于我们有PATCH,我们可以更新特定字段,甚至不触及其余字段。但是,在这种情况下,由于字段相当复杂,因此很难找到更新dateOnly标志的方式,而是dateOnly值或update

    我考虑每次修补时都会从Google加载事件。因此,我可以读取tzShift标志并将其设置为旧值。有没有更方便的方法来解决这个问题?

1 个答案:

答案 0 :(得分:0)

根据Events中的文档,找不到 dateOnly 资源。 但您可以使用补丁Events: patch

使用以下选项
{
    "start": {
       "date": "2017-05-05",
       "dateTime": "",
       "timeZone": "America/Los_Angeles"
    },
    "end": {
       "date": "2017-05-06",
       "dateTime": "",
       "timeZone": "America/Los_Angeles"
    }
}

希望它可以帮到你。