我想通过提供OData v4.0 https://graph.microsoft.com/v1.0/me/calendars/<calendar>/events
作为查询参数,将过滤器应用于$filter
端点,但将eq
应用于start/timeZone
结果错误:
当$filter
为subject eq 'My Subject' and start/dateTime eq '1970-01-01T00:00:00.0000000' and end/dateTime eq '1970-01-01T00:01:00.0000000' and start/timeZone eq 'UTC' and end/timeZone eq 'UTC'
时,我回来了:
{
"error": {
"code": "InvalidDateTime",
"message": "The value 'UTC' of parameter 'DateTime' is invalid.",
"innerError": {
"request-id": "68f797e2-5059-4a8a-8fc6-0063e31d6498",
"date": "2019-06-07T13:46:54"
}
}
}
文档引用了Prefer: outlook.timezone
标头,但仅表示该标头适用于响应,对于解释请求没有任何说明:
对于所有返回事件的GET操作,可以使用Prefer: outlook.timezone标头,用于指定事件开始的时区 和响应的结束时间。
如何过滤(dateTime,timeZone)组合?最好是,如果我不必知道事件的timeZone,而可以基于UTC进行查询,但是我也不知道如何做到这一点。
谢谢!
答案 0 :(得分:0)
您不能基于timeZone
进行过滤,因此也不必如此。所有DateTime值都存储在UTC中。仅当您包含Prefer: outlook.timezone
您应该可以简单地使用
subject eq '{subject}' and start/dateTime eq '{date}T{time}' and end/dateTime eq '{date}T{time}'