Microsoft graph api 使用/users时属性为null,但使用/me/contacts时属性为null
从Microsoft graph api 使用/users时属性为null,但使用/me/contacts时属性为null,microsoft-graph-api,Microsoft Graph Api,从https://graph.microsoft.com/v1.0/me/contacts我获取用户的所有属性,例如: { displayName: 'Joe Joeson', jobTitle: 'Administrator', department: 'HK', mobilePhone: '09823987234', businessPhones: '8934598743', mail: 'joe@mail.com', } 但是当我获得组织的所有用户时(使用http
https://graph.microsoft.com/v1.0/me/contacts
我获取用户的所有属性,例如:
{
displayName: 'Joe Joeson',
jobTitle: 'Administrator',
department: 'HK',
mobilePhone: '09823987234',
businessPhones: '8934598743',
mail: 'joe@mail.com',
}
但是当我获得组织的所有用户时(使用https://graph.microsoft.com/v1.0/users?$select=displayName、jobTitle、department、mobilePhone、BusinessPhone、mail、userType
)同一联系人无法获得某些属性,例如:
{
displayName: 'Joe Joeson',
jobTitle: null,
department: null,
mobilePhone: null,
businessPhones: null,
mail: 'joe@mail.com',
}
为什么??是同一个联系人吗?还是我遗漏了什么?我是否应该以另一种方式获得该组织的所有联系人
我已确认所有属性均在
https://portal.azure.com/contacts
和/users
端点返回两个不同的实体。联系人
实体表示当前用户的Exchange邮箱中的Outlook联系人,而用户
实体表示租户的Active directory实例中的用户目录对象
您看到两个不同结果的原因是您返回了两个不同的实体。第一个是Outlook/Exchange邮箱中的Joe Joeson联系人
,第二个是Active Directory中的Joe Joeson用户
您从/users
中看到的信息较少的原因是您请求了读取所有用户的基本配置文件
(又称User.ReadBasic.all
)范围。此范围只能从用户
资源中查看有限数量的属性:显示名称
,给定名称
,姓氏
,照片
,以及邮件
您请求了什么权限范围?嗨!这些:查看用户的基本配置文件
,登录用户
,读取用户联系人
,读取所有用户的基本配置文件
,登录并读取用户配置文件
,读取用户和共享联系人
噢!我懂了。你能告诉我我应该要求什么范围吗?谢谢User.Read.All
将授予您读取用户的整个属性集的权限。这需要获得租户管理员的管理员同意才能使用。您好,我也有同样的问题,我已被授予User.Read.All的委派权限,并且我还将其作为范围在我的请求中传递。当我请求我获取所有信息时,我会获取所有信息,但在获取用户中查看每个对象时,我看不到部门,起初,我使用User.ReadBasic.All和in没有看到职位名称转换为User.Read.All,我可以看到,但我真的需要这个部门。。。这篇文章引起我注意的一件事是,联系人是一个独立的实体,所以也许我应该查询联系人对象?这个范围是什么?@MarcLaFleur,我得到了一整套用户属性,但大多数属性都有null
值。我知道我的用户在他们的日历中有一些事件,我的响应中没有事件。怎么会这样?