使用/ users时属性为null,而使用/ me / contacts时属性为null

时间:2017-11-03 10:23:16

标签: microsoft-graph

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,businessPhones,mail,userType)时,相同的联系人不会获得某些属性,例如:

{
  displayName: 'Joe Joeson',
  jobTitle: null,
  department: null,
  mobilePhone: null,
  businessPhones: null,
  mail: 'joe@mail.com',
}

为什么呢?它的联系方式一样吗?或者我错过了什么?我应该以另一种方式从组织获得所有联系人吗?

我已确认所有属性均已在https://portal.azure.com

中设置

1 个答案:

答案 0 :(得分:2)

/contacts/users个端点返回两个不同的实体。 contact实体表示来自当前用户的Exchange邮箱的Outlook联系人,而user实体表示来自租户的Active Directory实例的用户目录对象。

您看到两个不同结果的原因是因为您返回了两个不同的实体。第一个是来自Outlook / Exchange邮箱的Joe Joeson contact,第二个是来自Active Directory的Joe Joeson user

/users发现信息较少的原因是您请求了Read all users' basic profiles(又名User.ReadBasic.All)范围。此范围只能查看user资源中的有限数量的属性:displayNamegivenNamesurnamephotomail