Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Odata Microsoft图形Api:按GUID值筛选_Odata_Microsoft Graph Api - Fatal编程技术网

Odata Microsoft图形Api:按GUID值筛选

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

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

{
    "@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查询。既然我可以,我可能应该考虑我是否应该:-)加重处罚。我想知道如果双引号不起作用,它需要什么。