Microsoft graph api 创建事件不确认传入的时区

Microsoft graph api 创建事件不确认传入的时区,microsoft-graph-api,outlook-restapi,Microsoft Graph Api,Outlook Restapi,我正在使用Microsoft Graph创建一个事件。一切正常,但它总是以UTC创建事件。我正在遵循文档中的示例,但仍然不走运 以下是帖子的正文: { “主题”:“我的活动”, “开始”:{ “日期时间”:“2017-11-03T04:14:31.883Z”, “时区”:“东部标准时间” }, “结束”:{ “日期时间”:“2017-11-10T05:14:31.883Z”, “时区”:“东部标准时间” } } 以下是回应: { “@odata.context”:”https://graph.

我正在使用Microsoft Graph创建一个
事件
。一切正常,但它总是以UTC创建事件。我正在遵循文档中的示例,但仍然不走运

以下是帖子的正文:

{
“主题”:“我的活动”,
“开始”:{
“日期时间”:“2017-11-03T04:14:31.883Z”,
“时区”:“东部标准时间”
},
“结束”:{
“日期时间”:“2017-11-10T05:14:31.883Z”,
“时区”:“东部标准时间”
}
}
以下是回应:

{
“@odata.context”:”https://graph.microsoft.com/v1.0/$metadata#用户(“…”)/events/$entity“,
“@odata.etag”:“W/\”1OZnj8JcDU6yRK1K4rYSNQABJ3X/lw==\”,
“id”:“…”,
“createdDateTime”:“2017-11-03T04:15:13.7075368Z”,
“lastModifiedDateTime”:“2017-11-03T04:15:13.7231636Z”,
“变更键”:“1OZnj8JcDU6yRK1K4rYSNQABJ3X/lw=”,
“类别”:[],
“原始起始时区”:“UTC”,
“原始时区”:“UTC”,
“iCalUId”:“…”,
“reminderMinutesBeforeStart”:15,
“isReminderOn”:没错,
“hasAttachments”:假,
“主题”:“我的活动”,
“bodyPreview”:“,
“重要性”:“正常”,
“灵敏度”:“正常”,
“isAllDay”:假,
“isCancelled”:错误,
“同构者”:没错,
“响应请求”:正确,
“seriesMasterId”:空,
“showAs”:“忙”,
“类型”:“单实例”,
“网络链接”:“…”,
“onlineMeetingUrl”:空,
“反应状态”:{
“响应”:“组织者”,
“时间”:“0001-01-01T00:00:00Z”
},
“正文”:{
“内容类型”:“文本”,
“内容”:”
},
“开始”:{
“日期时间”:“2017-11-03T04:14:31.8830000”,
“时区”:“UTC”
},
“结束”:{
“日期时间”:“2017-11-10T05:14:31.8830000”,
“时区”:“UTC”
},
}

因为
开始
结束
属性表示和
日期时间
属性希望以
yyyy-mm-ddThh:mm[:ss[.fffffff]]格式指定值
格式(有关详细信息,请参见说明)

在您的示例中,
Z
需要从
2017-11-10T05:14:31.883Z
中省略,因为这就是
timeZone
属性被忽略的原因

例如:

{
  "subject": "My event",
  "start": {
    "dateTime": "2017-11-03T04:14:31.8830000",
    "timeZone": "Eastern Standard Time"
  },
  "end": {
    "dateTime": "2017-11-10T05:14:31.8830000",
    "timeZone": "Eastern Standard Time"
  }
}

这段代码片段可以正常工作

invite.Start.TimeZone = eventInvite.TimeZone;
invite.Start.DateTime =  eventInvite.StartDateTime.LocalDateTime.ToString("yyyy-MM-ddTHH:mm:ss.fffffff", System.Globalization.CultureInfo.InvariantCulture);
invite.End.TimeZone = eventInvite.TimeZone;
invite.End.DateTime = eventInvite.EndDateTime.LocalDateTime.ToString("yyyy-MM-ddTHH:mm:ss.fffffff", System.Globalization.CultureInfo.InvariantCulture);

但是,如果发送包含不明确数据的请求时出现错误400,那就更好了。我相信这种行为(在“Z”的情况下忽略时区)并没有被描述。