移动 DriveItem

若要将 DriveItem 移动到新的父项,应用程序会请求更新要移动的 DriveItem 的 parentReference。这是更新方法的一种特殊情况。你的应用程序可以将以下操作组合到单个请求中:将项目移动到新的容器和更新项目的其他属性。

无法使用这一请求在驱动器之间移动项目。

权限

要调用此 API,需要以下权限之一。要了解详细信息,包括如何选择权限的信息,请参阅权限

权限类型 权限(从最低特权到最高特权)
委派(工作或学校帐户) Files.ReadWrite、Files.ReadWrite.All、Sites.ReadWrite.All
委派(个人 Microsoft 帐户) Files.ReadWrite、Files.ReadWrite.All
应用程序 Files.ReadWrite.All、Sites.ReadWrite.All

HTTP 请求

PATCH /me/drive/items/{item-id}
PATCH /me/drive/root:/{item-path}
PATCH /drives/{drive-id}/items/{item-id}
PATCH /groups/{group-id}/drive/{item-id}

请求标头

名称 类型 说明
if-match String 如果包含此请求标头,且提供的 eTag(或 cTag)与文件夹上的当前 eTag 不匹配,则返回 412 Precondition Failed 响应。

请求正文

在请求正文中,提供 parentReference 属性的新值。请求正文中不包括的现有属性将保留其以前的值,或根据对其他属性值的更改重新计算。为了获得最佳性能,不应包括尚未更改的现有值。

注意:将项目移动到 OneDrive 的根目录下时不能使用 "id:" "root" 语法。需要使用根文件夹的真实 ID,或对父引用使用 {"path": "/drive/root"}

响应

如果成功,此方法在响应正文中返回 200 OK 响应代码和更新的 DriveItem 资源。

示例

本示例将 {item-id} 指定的项目移动到用户 OneDrive 的文档文件夹中。

PATCH https://graph.microsoft.com/v1.0/me/drive/items/{item-id}
Content-type: application/json

{
    "name": "new-item-name",
    "parentReference" : {"path": "/drive/root:/Documents"}
}
响应

以下示例显示了相应的响应。

HTTP/1.1 200 OK
Content-type: application/json

{
    "id": "0123456789abc",
    "name": "new-item-name",
    "folder": { "childCount": 3 },
  "parentReference": {
    "id": "507DE6D5-0201-496A-AA87-5E2563247982",
    "path": "/drive/root:/Documents"
  }
}