如何使用MS Graph SDK检索所有用户属性

时间:2018-03-08 12:15:26

标签: c# microsoft-graph

使用Microsoft Graph quick start guide,我可以使用

获取用户对象
var one = await graphClient.Me.Request().GetAsync();

但它只包含这些属性的值

BusinessPhones       
DisplayName          
GivenName            
Id                   
JobTitle             
Mail                 
OfficeLocation       
Surname              
UserPrincipalName    

其余的只是null。但是,我希望看到一些值,例如AboutMe

我可以使用

专门检索该值
var one = await graphClient.Me.Request().Select("aboutme").GetAsync();

但有没有办法获得所有属性?

我试过

var one = await graphClient.Me.Request().Select("").GetAsync();
var one = await graphClient.Me.Request().Select("*").GetAsync();

但这不会返回所有属性。

1 个答案:

答案 0 :(得分:1)

似乎还没有?实现。

select参数的Documentations指出:

  

在v1.0中,从directoryObject派生的一些Azure AD资源,   与用户和组一样,返回有限的默认属性子集   读取。对于这些资源,必须使用$ select返回属性   在默认设置之外。

https://developer.microsoft.com/en-us/graph/docs/concepts/query_parameters#select-parameter

这似乎是select = *只返回一些directoryObject-properties的原因,因为user-object是从directoryObject派生的。

要访问您需要在select-query中手动定义它们的所有属性,或者您可以调整服务器的默认设置以返回所有属性(不确定您是否可以在在线应用程序设置中定义它)。