Azure GraphQL按DateTime过滤AccessReview实例时OData错误如何解决?
解决AccessReview Instance按startDateTime过滤的OData错误
- 核心问题是OData过滤规则要求日期值必须用单引号包裹,你的代码里未添加单引号,导致语法解析失败。
- 修正后的代码:
accessReviewInstanceResponse = await graphClient.IdentityGovernance .AccessReviews .Definitions[accessReview.Id] .Instances.GetAsync(config => { config.QueryParameters.Filter = "startDateTime ge '2024-06-01T00:00:00Z'"; });
- 额外排查点:
- 确保日期格式为ISO 8601标准(带UTC时区标识
Z),避免时区解析偏差。 - 确认调用账号/应用已拥有
AccessReview.Read.All或AccessReview.ReadWrite.All权限,权限不足也会触发异常。 - 若仍报错,可捕获
ODataError查看详细错误信息定位问题:
- 确保日期格式为ISO 8601标准(带UTC时区标识
try { accessReviewInstanceResponse = await graphClient.IdentityGovernance .AccessReviews .Definitions[accessReview.Id] .Instances.GetAsync(config => { config.QueryParameters.Filter = "startDateTime ge '2024-06-01T00:00:00Z'"; }); } catch (ODataError odataError) { Console.WriteLine(odataError.Error.Message); Console.WriteLine(odataError.Error.Details); }
内容的提问来源于stack exchange,提问作者dhrm
相关产品推荐
相关产品推荐

