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
值。我知道我的用户在他们的日历中有一些事件,我的响应中没有事件。怎么会这样?