我正在使用Microsoft Graph来管理Azure AD用户,并且在访问User对象上的扩展属性时遇到了一些问题。使用Azure AD Graph API创建用户时添加了该属性,如果使用Azure AD API查询用户,则会自动返回名为“extension_ {appId} _ {propertyName}”的扩展属性。我想使用Microsoft Graph访问此属性的值,但没有找到正确的调用。
我尝试使用$ select直接选择属性(按上面列出的全名)和较短的名称 https://graph.microsoft.com/beta/Users/{id}?$select=extension_{appId}_{propertyName}
我还尝试使用$ expand查询singleValueExtendedProperty(和multiValue)但是我告诉用户对象上不存在该属性。
https://graph.microsoft.com/beta/Users/{id}?$expand=singleValueExtendedProperty
我还使用了User对象上的'extensions'字段,但它始终只是null。
只是好奇Graph是否支持此操作,如果是,则如何查询该字段。如果我在查询用户组时可以获得此扩展的值而无需运行单独的查询,那将是一个额外的好处。
答案 0 :(得分:3)
扩展程序在Extensions
集合中的Microsoft Graph中显示,而不是顶级属性:
"@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users(id,displayName,mail,extensions)/$entity",
"id": "16f5a7b6-5a15-4568-aa5a-31bb117e9967",
"displayName": "Anne Weiler",
"mail": "annew@CIE493742.onmicrosoft.com",
"extensions@odata.context": "https://graph.microsoft.com/v1.0/$metadata#users('16f5a7b6-5a15-4568-aa5a-31bb117e9967')/extensions",
"extensions": [
{
"@odata.type": "#microsoft.graph.openTypeExtension",
"theme": "dark",
"color": "purple",
"lang": "Japanese",
"extensionName": "com.contoso.roamingSettings",
"id": "com.contoso.roamingSettings"
}
]
例如,您可以使用以下查询返回users
的集合(包括任何扩展名):v1.0/users?$select=id,displayName,mail&$expand=extensions
(请参阅Graph Explorer)