Odata Microsoft图形Api:按GUID值筛选
我正在尝试使用Microsoft Graph Api获取特定用户的详细信息Odata Microsoft图形Api:按GUID值筛选,odata,microsoft-graph-api,Odata,Microsoft Graph Api,我正在尝试使用Microsoft Graph Api获取特定用户的详细信息 { "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity", "id": "f71f1f74-bf1f-4e6b-b266-c777ea76e2c7", "businessPhones": [], "displayName": "CIE Administrator", "givenNa
{
"@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"
}
我有一个问题可以使用图形浏览器演示:
如果我运行此查询:
https://graph.microsoft.com/v1.0/users
https://graph.microsoft.com/v1.0/users/f71f1f74-bf1f-4e6b-b266-c777ea76e2c7
我得到一个用户列表,包括他们的ID
我知道我可以通过将id附加到url来获得一个用户的详细信息。例如,此查询:
https://graph.microsoft.com/v1.0/users
https://graph.microsoft.com/v1.0/users/f71f1f74-bf1f-4e6b-b266-c777ea76e2c7
结果显示一个特定用户的详细信息
{
"@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"
}
但是,在我的例子中,在id
字段上应用$filter
查询会更容易
以下是我尝试过的,以及我遇到的错误:
试一试
返回以下消息:
检测到类型不兼容的二进制运算符。找到运算符类型“Equal”的操作数类型“Edm.String”和“Edm.Guid”
第二次尝试
返回以下消息:
无法识别的'Edm.String'文本'guid'f71f1f74-bf1f-4e6b-b266-c777ea76e2c7',位于'id eq guid'f71f74-bf1f-4e6b-b266-c777ea76e2c7'中的'6'
我终于明白了 只需将guid用单引号括起来,不需要其他注释
https://graph.microsoft.com/v1.0/users?$filter=id eq 'f71f1f74-bf1f-4e6b-b266-c777ea76e2c7'
你能解释一下为什么你想要一个只有一个用户的过滤列表,而不是简单地抓取用户对象本身吗?一般来说,你使用列表来查找ID,而不是根据ID进行过滤。@marclafler-MSFT我同意,只是我自己做了一个URL生成器,它不够灵活,无法处理多个path元素。我想看看是否可以使用$filter按ID查询。既然我可以,我可能应该考虑我是否应该:-)加重处罚。我想知道如果双引号不起作用,它需要什么。