gpt4 book ai didi

node.js - Outlook API 日历中的时差

转载 作者:太空宇宙 更新时间:2023-11-03 22:45:42 24 4
gpt4 key购买 nike

我在使用 Outlook API(特别是日历 API)时遇到问题。

我使用 UTC 格式发送日期,当它们添加到日历中时,我与发送日期有所不同。

我在法国,所以原始日期是 UTC+2。我以 UTC 进行转换并使用此配置发出请求:

var options = {
url: "https://outlook.office.com/api/v2.0/me/calendars/" + workspace.calendarId + "/events?$Select=Id",
method: "POST",
headers: {
"authorization": "Bearer " + host.outlookCalAccessToken,
"accept" : "application/json",
"ContentType" : "application/json"
},
json:{
"Subject" : event.summary,
"Body" : {
"ContentType" : "Text",
"Content" : event.description
},
"Start" : {
"DateTime":start,
"TimeZone" : "OriginStartTimeZone"
},
"End" : {
"DateTime":end,
"TimeZone" : "OriginStartTimeZone"

},
"Attendees" : [
{
"EmailAddress" : {
"Name" : nomad.firstname,
"Address" : nomad.email
},
"Type" : "Required"
}
]

},
"Content-Type" : "application/json"
};

如果时区是“OriginStartTimeZone”或“UTC”,我也会遇到同样的问题。

例如,我的本地日期是 2017-10-19T17:00:00.000转换为 UTC 2017-10-19T15:00:00.000Z在日历中,事件日期为 2017-10-19T08:00:00.000

我错过了这个 API 的哪些内容?

谢谢!

最佳答案

OriginStartTimeZone 不是 TimeZone 的有效值。如果将 TimeZone 设置为 UTC,您应该会得到预期的结果。我刚刚在这里用这个有效负载测试了它:

{
"Subject" : "test",
"Body" : {
"ContentType" : "Text",
"Content" : "hello"
},
"Start" : {
"DateTime": "2017-10-19T15:00:00.000Z",
"TimeZone" : "UTC"
},
"End" : {
"DateTime": "2017-10-19T16:00:00.000Z",
"TimeZone" : "UTC"
}
}

在对事件的 POST 和后续 GET 请求的响应中,我得到了返回:

"Start": {
"DateTime": "2017-10-19T15:00:00.0000000",
"TimeZone": "UTC"
},
"End": {
"DateTime": "2017-10-19T16:00:00.0000000",
"TimeZone": "UTC"
},

关于node.js - Outlook API 日历中的时差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46830841/

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