尝试使用 Sharepoint 和 Microsoft Graph 获取个人资料信息 api

Trying to get profile info using Sharepoint and Microsoft Graph api

尝试获取邮件时 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"
}

有人知道为什么 return 没有完整的个人资料信息吗? 我使用的是 1.0 版本。

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

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

希望对您有所帮助,