尝试使用Sharepoint和Microsoft Graph api获取配置文件信息

Gus*_*nso 5 sharepoint microsoft-graph

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"
}
Run Code Online (Sandbox Code Playgroud)

有谁知道为什么它不会返回完整的个人资料信息?我使用的是1.0版.

Dan*_*SFT 6

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

至于为什么没有邮件和officeLocation填充.该邮件属性在一定条件下设置(如用户分配一个许可证,让他们的信箱). 除非为用户设置,否则OfficeLocation为null.

希望这可以帮助,