修补谷歌事件开始日期和结束日期,而无需所有必要的数据

问题描述:

我实现客户端,可以补丁谷歌日历事件通过Calendar API v3 Client Library for Java.修补谷歌事件开始日期和结束日期,而无需所有必要的数据

方法:

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

的问题我面对的是startend字段在com.google.api.services.calendar.model.Event实体是复杂的对象,并需要构建几件事情:

  1. com.google.api.client.util.DateTime
  2. TimeZone

的DateTime三个字段dateOnly被设置为真/假取决于事件是否为全天事件与否。问题出现了。如果我只想更新日期,并且只有日期从我的前端发送(没有标志是全天事件还是dateOnly适用),我无法构造DateTime对象,因为我不知道是否我应该使用DateTime的构造函数,将dateOnly设置为true或设置为false。

如果有请求,这是正确的。由于我们有PATCH,所以我们可以更新特定的字段,甚至不用接触其他字段。但是,在这种情况下,由于该领域相当复杂,因此很难找到更新dateOnly标志的方式,而是更新update值或tzShift

我认为每次做补丁时都会从谷歌加载事件。因此,我可以读取并设置dateOnly标志为旧值。有没有更方便的方法来解决这个问题?

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

{ 
    "start": { 
     "date": "2017-05-05", 
     "dateTime": "", 
     "timeZone": "America/Los_Angeles" 
    }, 
    "end": { 
     "date": "2017-05-06", 
     "dateTime": "", 
     "timeZone": "America/Los_Angeles" 
    } 
} 

希望它可以帮助您使用以下选项。