5

尝试获取邮件 url 时,https://graph.microsoft.com/v1.0/me我不断收到类似"mail:null".

完整回复如下:

{
  "@odata.context": "https://graph.microsoft.com/v1.0/",
  "@odata.type": "#microsoft.graph.user",
  "@odata.id": "users/XXXXXXXXX",
  "businessPhones": ["XXXXXXXX"],
  "displayName": "XXXX XXXX",
  "givenName": "XXXX",
  "jobTitle": null,
  "mail": null,
  "mobilePhone": "XXXXXXXX",
  "officeLocation": null,
  "preferredLanguage": "en-US",
  "surname": "XXXXXXX",
  "userPrincipalName": "XXXXXXX@XXXXX.onmicrosoft.com",
  "id": "XXXXX-XXXXX-XXXXX"
}

有人知道为什么它不会返回完整的个人资料信息吗?我正在使用 1.0 版。

4

1 回答 1

6

当您查询用户实体(或 /me)时,Graph 返回一组默认属性(您在上面看到的那些)。我们这样做是因为用户实体包含一大堆属性,并且我们希望确保我们在这里有点效率(因为通过网络对一堆属性进行序列化和反序列化是有成本的)。为了获取不在默认集中的其他属性(包括 SharePoint 配置文件属性),您需要在查询字符串中使用 $select= propName1 , propName2。要查看完整列表,请访问此处:https ://graph.microsoft.io/docs/api-reference/v1.0/resources/user 。我们也在考虑引入 $select=* 来获取所有属性。

至于为什么 mail 和 officeLocation 没有被填充。mail属性是在某些条件下设置的(例如为用户分配了一个许可证,该许可证给了他们一个邮箱) 。OfficeLocation为空,除非它是为用户设置的。

希望这可以帮助,

于 2015-11-24T19:01:54.810 回答