首页 > 解决方案 > ms 图形 api。时区没有响应变化

问题描述

首先,我使用的是 Java Spring Web 应用程序。

我想将时区设置为“东京标准时间”

但是,它对我不起作用。

下面是我的代码。

//Retrofit code
@Headers("Prefer: outlook.timezone=\"Tokyo Standard Time\"")
@POST("/v1.0/me/events")
Call<PagedResult<Event>> sendMessage(@Body Event event);

这是正文中的时区。

//Start timezone
DateTimeTimeZone Start_timezone = new DateTimeTimeZone();
Start_timezone.setTimeZone("Tokyo Standard Time");
...

如果我发送 POST 请求,它们总是返回(响应)UTC 时区。

...
"start":{"dateTime":"2019-11-15T09:00:00.0000000","timeZone":"UTC"}
...

这是我的请求日志,

Content-Type: application/json; charset=UTF-8
Content-Length: 380
Prefer: outlook.timezone="Tokyo Standard Time"
...
"start":{"dateTime":"2019-11-15T09:00:00Z","timeZone":"Tokyo Standard Time"},
...

POST 请求正常工作。但是,时区不会改变。

此外,Graph Explorer 中的时区更改。

我不知道问题是什么。我错过了什么?

标签: spring-mvcoutlookretrofitazure-ad-graph-api

解决方案


时间字符串中的字符“Z”2019-11-15T09:00:00Z表示它是 UTC 时间,因此图形 API 将忽略“首选”标头。

删除时间字符串中的“Z”,它应该可以工作。


推荐阅读