Перемещение ресурса 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"
}
}
Ответы с ошибками
Дополнительные сведения о возвращении ошибок см. в статье Ответы с ошибками.