[英]How to get user names of all groups using Microsoft Graph API?
[英]Microsoft Graph API: get user organization
我正在使用 Microsoft Graph API 来获取用户的一些详细信息。 我还使用 AD 进行身份验证和授权。
在此应用程序中,用户在登录后将搜索一些用户,并需要所有与搜索匹配的用户的详细信息。
我使用过滤器点击了users api ,但我没有得到有关匹配用户的公司名称的任何详细信息。
https://graph.microsoft.com/v1.0/users?$filter=startswith(displayName,'jo')
下面是同样的回复
{
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users",
"@odata.nextLink": "https://graph.microsoft.com/v1.0/users?$skiptoken=X%2744537074020001000000203A636F6D7061735F766A61407465737473636F7270696F67726F75702E6E657429557365725F33386664353661362D366361612D343939332D393264642D383439633938613039393033B900000000000000000000%27",
"value": [
{
"businessPhones": [],
"displayName": "John Doe",
"givenName": "John",
"jobTitle": null,
"mail": null,
"mobilePhone": null,
"officeLocation": null,
"preferredLanguage": null,
"surname": "Doe",
"userPrincipalName": "jdoe@mycomp.net",
"id": "c8f63ba1-5150-44c1-b456-468040f12345"
}
]
}
我需要做什么才能为我的组织的用户获取公司名称?
默认情况下, user
资源仅返回属性的子集。 根据文档:
注意:获取用户仅返回一组默认属性( businessPhones, displayName, givenName, id, jobTitle, mail, mobilePhone, officeLocation, preferredLanguage, surname, userPrincipalName )。 使用
$select
获取用户对象的其他属性和关系。
换句话说,您需要将$select
参数添加到您的查询中,以列出您想要返回的属性。 例如,如果您想检索id
、 userPrincipalName
和companyName
,您可以使用:
https://graph.microsoft.com/v1.0/users?$select=displayName,id,jobTitle,companyName
完整的可用属性集可以在用户资源类型文档中找到。
我想通过一次登录获得所有用户的详细信息
这不可能。 获取组织详细信息的唯一方法是使用https://graph.microsoft.com/v1.0/organization
api。
您需要提供访问令牌才能调用此 api。 在您的应用程序中,您使用一位用户登录以获取访问令牌。
如果您在令牌请求 url 中使用 common,您将获得该登录用户的默认组织。
如果您在请求 url 中使用特定租户,您将获得该租户的组织详细信息。
如果只想获取用户的companyName,可以调用https://graph.microsoft.com/beta/users/{userid}
获取。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.