Поделиться через


Перемещение ресурса DriveItem в новую папку

Чтобы переместить ресурс DriveItem в новый родительский элемент, веб-приложению требуется обновить элемент parentReference из DriveItem.

Это особый случай, касающийся метода Обновление. Приложение может объединять процедуры перемещения элемента в новый контейнер и обновления других свойств элемента в один запрос.

С помощью этого запроса не удастся переместить элементы между объектами Drive.

Разрешения

Для вызова этого API требуется одно из следующих разрешений. Дополнительные сведения, включая сведения о том, как выбрать разрешения, см. в статье Разрешения.

Тип разрешения Разрешения (в порядке повышения привилегий)
Делегированные (рабочая или учебная учетная запись) Files.ReadWrite, Files.ReadWrite.All, Sites.ReadWrite.All
Делегированные (личная учетная запись Майкрософт) Files.ReadWrite, Files.ReadWrite.All
Для приложений Files.ReadWrite.All, Sites.ReadWrite.All

HTTP-запрос

PATCH /drives/{drive-id}/items/{item-id}
PATCH /groups/{group-id}/drive/{item-id}
PATCH /me/drive/items/{item-id}
PATCH /sites/{site-id}/drive/items/{item-id}
PATCH /users/{user-id}/drive/items/{item-id}

Необязательные заголовки запросов

Имя Тип Описание
if-match String Если указан заголовок запроса, а предоставленный тег eTag (или cTag) не совпадает с текущим тегом eTag папки, то возвращается отклик 412 Precondition Failed.

Текст запроса

В тексте запроса предоставьте новое значение для поля свойства parentReference. Предыдущие значения существующих свойств, не включенных в текст запроса, останутся прежними или будут повторно вычислены с учетом измененных значений других свойств. Для достижения оптимальной производительности не следует включать существующие значения, которые не изменились.

Примечание. При перемещении элементов в корневую папку объекта drive вашему приложению не удастся использовать синтаксис "id:" "root". Приложению потребуется предоставить фактический идентификатор корневой папки для ссылки на родительский элемент.

Отклик

В случае успешного выполнения этот метод возвращает код отклика 200 OK и обновленный ресурс DriveItem в тексте отклика.

Пример

В этом примере показано, как переместить элемент, указанный с помощью идентификатора {item-id}, в папку с идентификатором new-parent-folder-id для объекта drive пользователя.

PATCH /me/drive/items/{item-id}
Content-type: application/json

{
  "parentReference": {
    "id": "{new-parent-folder-id}"
  },
  "name": "new-item-name.txt"
}

Отклик

В примере ниже показан отклик для этого запроса на перемещение.

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

{
  "id": "0123456789abc",
  "name": "new-item-name.txt",
  "parentReference":
  {
    "driveId": "11231001",
    "path": "/drive/root:/Documents",
    "id": "1231203102!1011"
  }
}

Ответы с ошибками

Дополнительные сведения о возвращении ошибок см. в статье Ответы с ошибками.