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

SharePoint Online Web Part运行账户及Graph API权限技术问询

SharePoint Online Web Part 权限相关问题解答

1. 默认运行凭据

是的,默认情况下你开发的SharePoint Online Web Part会以当前使用该Web Part的用户凭据运行。所有Graph API调用或SharePoint操作都会基于该用户的权限范围执行。

2. 管理员与普通用户的Graph API权限差异

是的,SharePoint管理员(或全局管理员)在调用Graph API时拥有比普通云用户更高的权限:

  • 普通用户仅能查看自己所属群组的成员列表
  • 管理员可查询任意Office 365群组的成员,还能访问普通用户无权查看的目录级数据

3. 以高权限身份运行Web Part的方法

有以下几种可行方案:

  • Azure AD应用程序权限:注册Azure AD应用,申请应用级权限(非委派权限)并由管理员授予同意。Web Part通过该应用身份调用Graph API,拥有对应高权限范围。
  • SharePoint App-Only模式:创建SharePoint Add-in,采用App-Only权限模式,不依赖当前用户身份,直接以应用自身权限运行。
  • 委派权限+服务账户:使用高权限服务账户,通过OAuth获取令牌后调用API,但此方式需妥善存储账户信息,不建议在前端Web Part中直接使用(存在安全泄露风险)。

代码解析

你提供的代码通过SPFx的msGraphClientFactory获取Graph API客户端,查询指定群组的成员列表:

// 获取Graph API v3版本客户端
var client = await this.context.msGraphClientFactory.getClient('3');

var result;
// 查询指定GUID群组的成员信息
result = await client.api('groups/' + this.properties.groupGUID + '/members').get();

这段代码默认使用当前用户权限执行,若用户无该群组的成员查看权限,调用会返回权限不足的错误。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 01:25:30