使用 Microsoft graph API 检索特定属性

Using Microsoft graph API to retrieve a specific attribute

嗨(我是新手所以你需要原谅我),

我正在尝试使用 Microsoft Graph API 从活动目录中检索一些用户属性。

我正在对 Microsoft graph explorer 进行一些测试,但我不完全确定如何检索名为 employeeID 的特定属性(这是必需的)。我已经找到了如何使用以下方法检索我需要的其他一些基本信息:

https://graph.microsoft.com/v1.0/me

哪个returns:

{
    "@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users/$entity",
    "id": "6df92a63-2bef-477c-8c84-bf1113d5bd3e",
    "businessPhones": [],
    "displayName": "SmithB",
    "givenName": "bob",
    "jobTitle": null,
    "mail": "example@example.com",
    "mobilePhone": null,
    "officeLocation": null,
    "preferredLanguage": null,
    "surname": "smith",
    "userPrincipalName": "example@example.com"
}

然而,我在这一点之外不知所措。文档似乎提到了一些关于使用 $select 的内容,但它似乎更多地用于优化查询而不是查找特定属性。

我确信有一个相当简单的解决方案,如果有人能为我指明如何查询特定属性的正确方向,我将不胜感激。

如果你查看documented properties exposed on a user,你会发现没有属性叫做EmployeeId

现在这 属性 可能作为用户对象上的 Open Extension 存在。

在那种情况下,您可以read here了解如何return用户对象的扩展属性。

GET /users/{Id|userPrincipalName}/extensions/{extensionId}

或者您可以使用 Schema Extensions 来达到同样的目的。

GET https://graph.microsoft.com/beta/schemaExtensions

无论哪种方式,如果您确定 EmployeeId 存在于您的目录中,您应该知道它不是 Microsoft Graph 或 AAD 支持的默认值 属性。相反,它必须是使用上述两种扩展方法之一添加到您的目录中的某个扩展。

希望对您有所帮助。

我想这个帖子已经过时了。现在,Azure AD 中有一个标准属性通过 Microsoft Graph API 公开,称为 "employeeId",如 Official GraphAPI reference doc 中所述 它不出现在默认响应中,但可以通过 $select 参数检索,例如: https://graph.microsoft.com/v1.0/users/{user_id}?$select=givenName,surname,employeeId,etc...