我一直在使用 MS graph api。好东西。
有一件事让我感到困惑,我似乎无法在用户属性中找到用户的别名。人物搜索 https://graph.microsoft.com/beta/me/people?$search="123456"
给了我完全正确的结果。但没有一个属性与别名字段(employeeID
、userprincipalname
等)匹配。
我知道它在那里,因为完整的 Outlook 客户端可以将其挖掘出来......
任何提示(可能我忽略了一些非常微不足道的事情)
最佳答案
用户的“别名”保存在mailNickname
中。默认情况下,此属性不会作为 /user/{upn}
或 /me
结果的一部分返回,因此您需要使用 $ 专门请求它选择
查询参数。来自 documentation :
Note: Getting a user returns a default set of properties only (
businessPhones
,displayName
,givenName
,id
,jobTitle
,mobilePhone
,officeLocation
,preferredLanguage
,surname
,userPrincipalName
). Use$select
to get the other properties and relationships for the user object.
例如,调用 /me
返回:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
"id": "48d31887-5fad-4d73-a9f5-3c356e68a038",
"businessPhones": [
"+1 412 555 0109"
],
"displayName": "Megan Bowen",
"givenName": "Megan",
"jobTitle": "Auditor",
"mail": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="e6ab83818788a4a6abd5d0d39ed4d7d2d5d3d3c889888b8f85948995898092c885898b" rel="noreferrer noopener nofollow">[email protected]</a>",
"mobilePhone": null,
"officeLocation": "12/1110",
"preferredLanguage": "en-US",
"surname": "Bowen",
"userPrincipalName": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="7c31191b1d123e3c314f4a49044e4d484f494952131211151f0e130f131a08521f1311" rel="noreferrer noopener nofollow">[email protected]</a>"
}
为了返回 mailNickname
,您需要使用 $select
指定您想要此属性。
例如调用 /me?$select=mailNickname
将返回:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(mailNickname)/$entity",
"mailNickname": "MeganB"
}
您会注意到,$select
不会添加到返回的属性中,它指定您请求的整个集合。因此,要包含默认集以及 mailNickname
,您还需要添加默认属性。
例如,调用 /me/?$select=businessPhones,displayName,givenName,jobTitle,mail,mobilePhone,officeLocation,preferredLanguage,surname,userPrincipalName,id,mailNickname
返回:
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(businessPhones,displayName,givenName,jobTitle,mail,mobilePhone,officeLocation,preferredLanguage,surname,userPrincipalName,id,mailNickname)/$entity",
"id": "48d31887-5fad-4d73-a9f5-3c356e68a038",
"businessPhones": [
"+1 412 555 0109"
],
"displayName": "Megan Bowen",
"givenName": "Megan",
"jobTitle": "Auditor",
"mail": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="80cde5e7e1eec2c0cdb3b6b5f8b2b1b4b3b5b5aeefeeede9e3f2eff3efe6f4aee3efed" rel="noreferrer noopener nofollow">[email protected]</a>",
"mailNickname": "MeganB",
"mobilePhone": null,
"officeLocation": "12/1110",
"preferredLanguage": "en-US",
"surname": "Bowen",
"userPrincipalName": "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="28654d4f49466a68651b1e1d501a191c1b1d1d06474645414b5a475b474e5c064b4745" rel="noreferrer noopener nofollow">[email protected]</a>"
}
关于microsoft-graph-api - MS图API : looking for ALIAS of user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50756297/