gpt4 book ai didi

api - 在 Office 365 中未正确创建全天事件

转载 作者:行者123 更新时间:2023-12-04 20:01:38 25 4
gpt4 key购买 nike

我正在尝试通过他们的 REST API,将一些事件导出到 Office 365 中的日历,https://msdn.microsoft.com/office/office365/APi/calendar-rest-operations#EventoperationsCreateevents .

我设置了 IsAllDay为 true,并将开始和结束时间设置为 UTC 的午夜。

有效载荷如下所示:

{
"Body": {
"Content": "Agenda",
"ContentType": "HTML"
},
"End": "2015-02-01T00:00:00Z",
"ShowAs": "Busy",
"Start": "2015-01-30T00:00:00Z",
"ChangeKey": "X2+akAeClEa0OJ8r6nC5QgABW30vaQ==",
"Location": {
"DisplayName": "Vesterbrogade"
},
"Subject": "Updated title",
"IsAllDay": true
}

看起来不错,如果我再次 GET 事件,有效负载将按设置返回。但是,当我访问 Outlook.office365.com 时,该事件现在跨越 2 天,而不是预期的 1 天。然而,持续时间显示为 1 天。取消单击 Outlook 中的“全天”会显示问题。由于我在中欧时间,因此比 UTC 早一小时。开始显示为 2015-01-30 01:00,结束显示为 2015-02-01 00:59。所以在幕后,它似乎并没有在我的时区存储为全天事件。

当您使用 f.ex. EWS,您通常会设置 session 的时区,但这似乎是不可能的。

我试图用时区信息给出开始和结束,但我得到一个 400,告诉我它必须以 UTC 提供。因此,据我所知,我无能为力,希望微软能解决这个问题。或者我错过了什么?

编辑:该事件实际上在 Outlook for Mac 中正确显示,所以这可能只是 Outlook.office365.com 上的 OWA 中的一个问题。

最佳答案

API 现在支持时区。您在这里要做的不是指定您的 StartEnd作为 UTC(由末尾的“Z”前缀表示),而是在您的时区中指定它。然后您将设置 StartTimeZoneEndTimeZone值到“中欧时间”。所以像这样:

{
"Body": {
"Content": "Agenda",
"ContentType": "HTML"
},
"Start": "2015-01-30T00:00:00+01:00",
"End": "2015-02-01T00:00:00+01:00",
"ShowAs": "Busy",
"Location": {
"DisplayName": "Vesterbrogade"
},
"Subject": "Updated title",
"IsAllDay": true,
"StartTimeZone": "Central European Standard Time",
"EndTimeZone": "Central European Standard Time"
}

关于api - 在 Office 365 中未正确创建全天事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28982218/

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