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

Graph API:如何以编程方式撤销委派权限(含特定权限)

关于委派权限撤销的问题解答

你之前尝试通过以下Graph API操作撤销权限:

获取权限授予ID:

GET https://graph.microsoft.com/v1.0/me/oauth2PermissionGrants
Authorization: Bearer <token>

删除权限授予:

DELETE https://graph.microsoft.com/v1.0/oauth2PermissionGrants/{id}
Authorization: Bearer <token>

但收到的报错提示需要管理员权限,这是因为oauth2PermissionGrants是租户级别的权限管理资源,普通用户的令牌无权执行删除或修改操作。针对你的问题,具体解答如下:

1. 如何以编程方式撤销用户授予的委派权限?

在仅拥有用户委派权限的情况下,应用无法直接通过Graph API删除权限授予,可行的编程触发方式有两种:

  • 引导用户手动撤销:在应用内提供跳转入口,指向Microsoft账户的权限管理页面,让用户自行操作撤销对应用的权限。
  • 发起重新授权请求:通过OAuth2授权流程,在授权URL中添加prompt=consent参数,引导用户重新授权。此时用户可以选择取消之前授予的部分或全部权限,完成后应用将获得更新后的权限集合。

2. 是否可以仅撤销特定权限?

是的,但需要用户参与操作:

  • 用户可以在Microsoft账户的权限管理页面中,单独取消某一项权限(比如仅撤销Calendar.Read而保留Chat.Read)。
  • 或者通过重新授权流程,让用户在授权界面取消特定权限的勾选,完成后应用的权限集合将仅保留用户重新授予的部分。

应用无法直接修改已有的权限授予来单独移除某一项权限,因为这类操作同样需要管理员级别的令牌权限。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.13 19:22:32