Graph API - 在过滤器查询中使用变量

Posted

技术标签:

【中文标题】Graph API - 在过滤器查询中使用变量【英文标题】:Graph API - use variable in filter query 【发布时间】:2022-01-22 01:56:53 【问题描述】:

我正在调用 Microsoft Graph API,以将用户详细信息从 Azure AD 导入应用程序(使用基于 REST 的连接器)。

应用程序提供了一个变量 (xyz) 用于执行增量用户导入。

我需要将应用程序变量作为 $xyz 传递。 Graph 查询似乎对 $ 符号感到困惑,并为 $ 符号抛出非法字符异常。

下面是使用的 GET 查询:

"https://graph.microsoft.com/v1.0/users?$select=id,displayName,userPrincipalName,mail,accountEnabled,onPremisesLastSyncDateTime&$count=true&$filter=onPremisesLastSyncDateTime%20ge%20$xyz "

错误:[22;39mjava.lang.IllegalArgumentException:索引 182 处的查询中存在非法字符:

已尝试使用 $$、单引号、反斜杠、` 等来解决此问题,但均无济于事。任何帮助将不胜感激。

【问题讨论】:

看起来不像是来自 Graph 的错误 - 你有一个 Java 错误。你真的用真实数据代替占位符吗? 已尝试使用真实数据,它对我有用。下面是一个示例:graph.microsoft.com/v1.0/… 应用程序在运行时将变量转换为实际值 【参考方案1】:

正如@Dmitry Streblechenko 建议的那样,错误表明该变量没有任何真实数据。

如果将真实数据传递给变量,则Graph API调用运行成功

【讨论】:

以上是关于Graph API - 在过滤器查询中使用变量的主要内容,如果未能解决你的问题,请参考以下文章

Facebook Graph API event-id/comments?since=2014-02-01&until=2014-02-10 ,日期过滤器无效

如何筛选使用Microsoft Graph查询的Sharepoint列表项

如何在突变后更新阿波罗缓存(使用过滤器查询)

如何使用 Django Rest 过滤器限制查询结果

使用 Audio Graph,了解环境噪声并在 UWP 应用中进行过滤

如何在 GraphQL 中过滤大于