我通过Calendar API v3 Client Library for Java.
实施了修补 Google日历活动的客户端方法:
com.google.api.services.calendar.Calendar.Events#patch
我遇到的问题是start
实体中的end
和com.google.api.services.calendar.model.Event
字段是复杂的对象,需要构建几个东西:
com.google.api.client.util.DateTime
TimeZone
DateTime具有名为dateOnly
的字段,根据事件是否为全天事件,设置为true / false。问题来了。如果我只想更新日期,并且只从我的前端发送日期(没有标记,无论是全天事件还是dateOnly
适用),我无法构建{{1对象,因为我不知道是否应该使用DateTime
的构造函数,DateTime
设置为true或设置为false。
就请求而言,它是正确的。由于我们有PATCH,我们可以更新特定字段,甚至不触及其余字段。但是,在这种情况下,由于字段相当复杂,因此很难找到更新dateOnly
标志的方式,而是dateOnly
值或update
。
我考虑每次修补时都会从Google加载事件。因此,我可以读取tzShift
标志并将其设置为旧值。有没有更方便的方法来解决这个问题?
答案 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"
}
}
希望它可以帮到你。