You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Microsoft Graph API访问MS Delve中添加的自定义配置文件字段?

解决Delve自定义配置文件字段无法通过Microsoft Graph API访问的问题

我之前也遇到过一模一样的坑!Delve里的自定义用户配置文件字段其实是存在SharePoint用户配置文件属性体系里的,和Microsoft Graph的Extensions完全是两回事,这也是很多人绕弯路的原因。下面是我亲测有效的解决步骤:

1. 先确认字段的「内部名称」

Delve里显示的友好名称和SharePoint后台存储的内部Key往往不一样(比如你创建的"员工编号",内部可能是EmployeeID_1)。你可以通过Graph代理调用SharePoint接口,获取用户的所有配置文件属性,找到目标字段的真实Key:

GET https://graph.microsoft.com/v1.0/sites/{你的租户域名}.sharepoint.com/_api/SP.UserProfiles.PeopleManager/GetPropertiesFor(accountName=@v)?@v='i:0#.f|membership|你的用户邮箱'

在返回的d/Properties数组里,找到对应自定义字段的Key值,这才是后续调用需要用到的名称。

2. 通过Graph API调用SharePoint用户配置文件接口

Microsoft Graph本身没有直接暴露所有SharePoint用户配置文件属性的端点,但可以通过Graph的SharePoint站点代理,调用原生的PeopleManager接口来获取数据:

  • 单独获取某个属性的请求示例:
GET https://graph.microsoft.com/v1.0/sites/{你的租户域名}.sharepoint.com/_api/SP.UserProfiles.PeopleManager/GetUserProfilePropertyFor(accountName=@v, propertyName='{刚才拿到的内部Key}')?@v='i:0#.f|membership|你的用户邮箱'

3. 检查应用权限是否达标

确保你的Graph应用已被授予以下权限之一(根据认证方式选择):

  • 委派权限:User.Read.All 或 Sites.Read.All
  • 应用权限:User.Read.All 或 Sites.Read.All
    权限需要在Azure AD应用注册里添加,并完成管理员同意流程。

4. 确认SharePoint端的字段配置

登录SharePoint管理中心,找到「用户配置文件属性」并编辑你的自定义字段:

  • 勾选「是否在搜索中索引此属性」
  • 确认「用户可以查看此属性」的权限设置正确(比如允许所有用户查看)
    如果这些开关没打开,API大概率无法返回字段值。

为什么Extensions的方法没用?

你提到查了很多Extensions资料,但Delve的自定义字段不属于Graph的Open Extensions或Schema Extensions范畴——它是SharePoint生态专属的用户配置文件属性,所以Extensions相关的方案自然不适用。

内容的提问来源于stack exchange,提问作者idealbrandon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 10:36:32