能否通过Microsoft Graph为SharePoint Drive项分配Owner角色?
你遇到的问题是因为直接通过PATCH修改现有权限条目为owner角色的操作并不被Microsoft Graph API支持,虽然UI中的「完全控制」对应Graph返回的owner角色,但两者的实现逻辑不同。
正确操作方式
要为Drive项分配owner角色(对应UI的「完全控制」),你需要通过POST请求创建新的权限分配,而非修改现有权限:
POST https://graph.microsoft.com/v1.0/groups/{groupId}/sites/root/drives/{driveId}/items/{itemId}/permissions Content-Type: application/json { "recipients": [ { "emailAddress": { "address": "目标用户或组的邮箱地址" } } ], "roles": ["owner"] }
原因说明
- 当你在UI中设置「完全控制」时,系统实际是创建了一条新的
owner级权限记录,而非修改原有权限条目,因此Graph返回的权限对象会显示roles为["owner"]。 - Graph API限制了通过
PATCH操作将现有权限直接提升为owner,必须通过创建新权限的方式来分配该角色,否则会触发Invalid value for role错误。
注意事项
- 执行此操作需要你具备该SharePoint站点或Drive的
Owner权限。 - 如果目标主体已有其他权限,新添加的
owner权限会叠加生效,原有权限可根据需要单独删除。
内容的提问来源于stack exchange,提问作者Anthony Phan
相关产品推荐
相关产品推荐

