我正在实现可以通过 Calendar API v3 Client Library for Java. 修补 Google 日历 Activity 的客户端
方法:
com.google.api.services.calendar.Calendar.Events#patch
我面临的问题是 com.google.api.services.calendar.model.Event
实体中的 start
和 end
字段是复杂的对象,需要构建多个内容:
com.google.api.client.util.DateTime
时区
DateTime 具有名为 dateOnly
的字段,该字段根据事件是否为全天事件而设置为 true/false。问题来了。如果我只想更新日期,并且只从前端发送日期(没有标记是否是全天事件或 dateOnly
是否适用),我无法构造 DateTime
对象,因为我不知道是否应该使用 DateTime
的构造函数,并将 dateOnly
设置为 true 或设置为 false。
就要求而言,这是正确的。由于我们有 PATCH,我们可以更新特定字段,甚至无需触及其余字段。然而,在这种情况下,由于字段相当复杂,所以很难找到不更新dateOnly
标志,而是更新update
值或tzShift
的方法。
每次打补丁时,我都会考虑从 Google 加载事件。因此,我可以读取 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"
}
}
希望对您有帮助。
关于java - 在没有所有必要数据的情况下修补 Google 事件开始日期和结束日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46004075/