microsoft-graph-api - MS Graph API:寻找用户的别名
问题描述
我一直在玩 MS graph api。好东西。
有一件事让我感到困惑,我似乎无法在用户属性中找到用户的别名。人员搜索https://graph.microsoft.com/beta/me/people?$search="123456"
给了我完全正确的结果。但是没有一个属性与别名字段(employeeID
,userprincipalname
等)匹配。我知道它在那里,因为完整的 Outlook 客户端可以将其挖掘出来......
任何提示(可能我忽略了一些非常琐碎的事情)
解决方案
用户的“别名”保存在mailNickname
. 默认情况下,此属性不会作为/user/{upn}
or/me
结果的一部分返回,因此您需要使用$select
查询参数专门请求它。从文档中:
注意:获取用户只返回一组默认属性(
businessPhones
,displayName
,givenName
,id
,jobTitle
,mobilePhone
,officeLocation
,preferredLanguage
,surname
,userPrincipalName
)。用于$select
获取用户对象的其他属性和关系。
例如,调用/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": "MeganB@M365x214355.onmicrosoft.com",
"mobilePhone": null,
"officeLocation": "12/1110",
"preferredLanguage": "en-US",
"surname": "Bowen",
"userPrincipalName": "MeganB@M365x214355.onmicrosoft.com"
}
为了返回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": "MeganB@M365x214355.onmicrosoft.com",
"mailNickname": "MeganB",
"mobilePhone": null,
"officeLocation": "12/1110",
"preferredLanguage": "en-US",
"surname": "Bowen",
"userPrincipalName": "MeganB@M365x214355.onmicrosoft.com"
}
推荐阅读
- powershell - While 循环检查注册表的值,然后运行 exe 文件
- c - CS50 pset3 音乐分段错误
- javascript - 在画布上绘制可拖动对象的重构代码
- processing - 处理:代码停止工作而不对其进行任何更改
- php - Laravel 5:如何重置内置油门/速率限制器?
- c# - Windows 2008 服务器上的 WCF 服务错误
- php - PHP:如何防止用户在登录后单击返回按钮时进入登录页面?
- c++ - 使用 isdigit 和 isalpha 设置 char 数组彼此相等
- android - 检测 Apk 中的代码篡改
- javascript - 在图像悬停Jquery上显示div