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

如何通过Microsoft Graph API查询OneDrive商业版文件的锁定状态及活跃用户?

OneDrive商业版文件锁定与活跃用户查询的API解决方案

一、上传前提前检查文件锁定状态

直接调用Microsoft Graph API的文件详情接口,就能获取文件的锁定状态:

GET https://graph.microsoft.com/v1.0/drive/items/{item-id}

接口返回的file.lock字段会明确说明文件是否被锁定,以及锁定的具体信息。如果文件处于编辑锁定状态,响应里会包含锁定用户的邮箱、显示名等信息,示例结构如下:

{
  "file": {
    "lock": {
      "lockType": "write",
      "owner": {
        "user": {
          "displayName": "张三",
          "email": "zhangsan@contoso.com"
        }
      },
      "expirationDateTime": "2024-05-20T10:00:00Z"
    }
  }
}

通过这个字段就能提前判断文件是否被占用,不用再靠上传失败来推断。

二、上传失败时获取锁定用户信息

当上传请求因文件锁定失败时,API会返回resourceLocked错误码,错误详情里直接包含锁定用户的邮箱和ID:

{
  "error": {
    "code": "resourceLocked",
    "message": "The resource you are attempting to access is locked.",
    "details": [
      {
        "code": "lockMismatch",
        "message": "The file is locked by user 'zhangsan@contoso.com' (User ID: 12345678-1234-1234-1234-1234567890ab).",
        "target": "file"
      }
    ]
  }
}

从details.message里就能直接提取到用户邮箱,也可以用用户ID调用GET /users/{user-id}接口获取更多用户信息。

三、功能支持说明

目前这些功能在Microsoft Graph API v1.0版本中已经正式支持,不需要等待后续更新。OneDrive界面显示的“Document locked by [用户]”信息,完全可以通过上述file.lock.owner字段或错误响应详情获取到。

如果需要近似实时的状态监测,还可以通过订阅文件的updated变更通知(调用POST /subscriptions接口),当文件锁定状态变化时会收到推送,避免频繁轮询。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 16:32:45