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

使用Microsoft Graph API上传文件时配置文件级权限的问题咨询

Microsoft Graph API上传文件时配置文件级权限的问题咨询

没问题,这个需求完全可以实现!你遇到的默认组织成员可见的情况,是因为OneDrive/SharePoint的默认权限策略导致的,咱们可以通过Microsoft Graph API在上传文件时或上传后调整权限,把文件设为仅自己可访问的状态。

下面两种方法都能帮你达成目标:

方法一:上传文件时直接配置权限

你可以先创建文件的元数据条目,明确指定只有你自己拥有该文件的权限,再上传实际的文件内容:

  1. 先发送POST请求创建文件的基础条目,在请求体里定义专属权限:
POST /me/drive/root/children
Content-Type: application/json

{
  "name": "你的文件.docx",
  "file": {},
  "permissions": [
    {
      "grantedToIdentities": [
        {
          "user": {
            "id": "你的用户ID"
          }
        }
      ],
      "roles": ["owner"]
    }
  ]
}
  1. 请求成功后会返回文件的唯一ID,接着用这个ID发送PUT请求上传文件内容:
PUT /me/drive/items/{文件ID}/content
Content-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document

[文件二进制内容]

这样创建出来的文件就只有你自己能访问,不会对组织内其他成员开放。

方法二:上传后修改现有文件权限

如果已经完成文件上传,也可以事后调整权限:

  1. 先获取该文件的所有权限列表,发送GET请求:
GET /me/drive/items/{文件ID}/permissions

在返回结果里,找到授予整个组织的权限记录(通常grantedToIdentitiesV2字段里会包含organization类型的条目),记下这条权限的id。
2. 发送DELETE请求删除这个组织级权限:

DELETE /me/drive/items/{文件ID}/permissions/{权限ID}

删除完成后,该文件就只剩下你作为所有者的权限,其他组织成员将无法访问它。

补充说明:如果是上传到SharePoint文档库,文件默认会继承文档库的权限策略,这时候需要先打破权限继承,再设置单独的文件权限——你可以调用POST /sites/{site-id}/lists/{list-id}/items/{item-id}/breakRoleInheritance接口完成权限继承的打破,之后再按上面的步骤调整权限即可。

备注:内容来源于stack exchange,提问作者Sherlock

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.21 14:33:10