使用Microsoft Graph筛选Office 365 Groups创建时间时遇400错误求助
解决Microsoft Graph筛选Office 365 Groups创建时间的400错误
我之前也碰到过一模一样的问题,其实根源就在筛选子句的格式不符合Microsoft Graph的OData规范。先给你说正确的写法,再拆解你之前的问题:
正确的筛选请求应该是这样的:
/v1.0/groups?$filter=createdDateTime gt 2016-10-24T14:21:03.000Z
再看看你之前尝试的两种写法哪里错了:
- 第一种
/v1.0/groups?$filter=createdDateTime/DateTime gt 2016-10-24T14:21:03.000Z:多了画蛇添足的/DateTime后缀,createdDateTime本身就是标准的DateTime类型字段,不需要额外解析子属性。 - 第二种
/v1.0/groups?$filter=createdDateTime gt '2016-10-24T14:21:03.000Z':错误地给ISO格式的日期字符串加了单引号,在OData的筛选规则里,DateTime类型的值不需要用引号包裹。
另外再提醒两个细节:
- 日期必须严格遵循ISO 8601格式(
YYYY-MM-DDTHH:mm:ss.sssZ),末尾的Z代表UTC时间,一定要带上,否则可能会出现时区偏差导致的筛选不准确。 - 确保你的应用已经获取了足够的权限(比如
Group.Read.All),不过你返回的是400错误,说明权限没问题,核心还是格式问题。
内容的提问来源于stack exchange,提问作者Tomasz
相关产品推荐
相关产品推荐

