Microsoft Graph Api:按 GUID 值过滤

And*_*erd 3 odata microsoft-graph-api

我正在尝试使用 Microsoft Graph Api 来获取特定用户的详细信息。

我有一个可以使用图形浏览器演示的问题:https://developer.microsoft.com/en-us/graph/graph-explorer

如果我运行这个查询:

https://graph.microsoft.com/v1.0/users
Run Code Online (Sandbox Code Playgroud)

我获得了用户列表,包括他们的 ID。

我知道我可以通过将 id 附加到 url 来获取一个用户的详细信息。例如,这个查询:

https://graph.microsoft.com/v1.0/users/f71f1f74-bf1f-4e6b-b266-c777ea76e2c7
Run Code Online (Sandbox Code Playgroud)

结果是一位特定用户的详细信息。

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
    "id": "f71f1f74-bf1f-4e6b-b266-c777ea76e2c7",
    "businessPhones": [],
    "displayName": "CIE Administrator",
    "givenName": "CIE",
    "jobTitle": null,
    "mail": "admin@CIE493742.onmicrosoft.com",
    "mobilePhone": "+1 3528700812",
    "officeLocation": null,
    "preferredLanguage": "en-US",
    "surname": "Administrator",
    "userPrincipalName": "admin@CIE493742.onmicrosoft.com"
}
Run Code Online (Sandbox Code Playgroud)

$filter但是,就我而言,在字段上应用查询会更容易id

这是我尝试过的以及我得到的错误:

尝试一

.../users?$filter=id eq f71f1f74-bf1f-4e6b-b266-c777ea76e2c7
Run Code Online (Sandbox Code Playgroud)

返回以下消息:

检测到类型不兼容的二元运算符。找到操作符类型“Equal”的操作数类型“Edm.String”和“Edm.Guid”。

尝试二

..../users/$filter=id eq guid'f71f1f74-bf1f-4e6b-b266-c777ea76e2c7'
Run Code Online (Sandbox Code Playgroud)

返回以下消息:

无法识别“id eq guid”f71f1f74-bf1f-4e6b-b266-c777ea76e2c7”中“6”处的“Edm.String”文字“guid”f71f1f74-bf1f-4e6b-b266-c777ea76e2c7”。

And*_*erd 6

终于想通了。

只需将 guid 用单引号括起来,没有其他注释。

https://graph.microsoft.com/v1.0/users?$filter=id eq 'f71f1f74-bf1f-4e6b-b266-c777ea76e2c7'
Run Code Online (Sandbox Code Playgroud)