gpt4 book ai didi

google-calendar-api - 将事件从全天更改为限时事件

转载 作者:行者123 更新时间:2023-12-04 17:10:58 30 4
gpt4 key购买 nike

谷歌日历上有一个全天事件,我把它拉出来,把它改成 1 小时的事件,我创建了补丁事件来推迟。据我了解,全天事件的日期为“开始”,下一个日期为“结束”。限时事件有 DateTime 中的事件。

所以在我的补丁中,我尝试将这些值从 Date 更改为 DateTime。但是,我总是收到错误“无效或不匹配的开始和结束时间”。

我在 Google Calendar API 站点上手动尝试了此操作:https://developers.google.com/google-apps/calendar/v3/reference/events/patch#try-it
并得到同样的错误。如果我拿一个限时事件并修改它,不会发生任何问题。我相信这是 API 本身的一个错误。任何人都经历过它,解决方法是什么?
提前致谢。

最佳答案

更新:这是我从谷歌开发团队收到的,希望对某人有用:

由 stanc...@google.com 对 issue 3110 发表评论 #4:从全天到非全天的修补事件失败
http://code.google.com/a/google.com/p/apps-api-issues/issues/detail?id=3110

补丁操作采用原始事件并更改/添加/删除请求指定的条目。如果您针对全天事件向 PATCH 操作发送以下请求:

{
"start": {
"dateTime": "2012-05-17T06:30:00+06:30",
"timeZone": "UTC"
},
"end": {
"dateTime": "2012-05-17T07:30:00+06:30",
"timeZone": "UTC"
}
}

结果事件将同时设置 dateTime 和 date 字段(这是不允许的)。因此,PATCH 请求需要清除日期字段:
{
"start": {
"dateTime": "2012-05-17T06:30:00+06:30",
"timeZone": "UTC",
"date": null
},
"end": {
"dateTime": "2012-05-17T07:30:00+06:30",
"timeZone": "UTC",
"date": null
}
}

在代码中,当你想将字段Date设置为null时,你必须输入 Data.NULL_DATE_TIME像这样:
EventDateTime edt = new EventDateTime();
edt.put("date",Data.NULL_DATE_TIME);// if you put NULL, it doesn't retain.
edt.put("dateTime", newTime); //newTime is the new value you want to set, type DateTime

关于google-calendar-api - 将事件从全天更改为限时事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13927209/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com