Отправка или замена содержимого элемента DriveItem

API простой отправки позволяет отправить содержимое нового файла или обновить содержимое существующего файла с помощью одного вызова API. Этот метод поддерживает файлы размером не более 4 МБ.

Сведения о том, как отправлять большие файлы, см. в разделе Отправка больших файлов с помощью сеанса отправки.

Разрешения

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

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

HTTP-запрос (для замены существующего элемента)

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

HTTP-запрос (для отправки нового файла)

PUT /drives/{drive-id}/items/{parent-id}:/{filename}:/content
PUT /groups/{group-id}/drive/items/{parent-id}:/{filename}:/content
PUT /me/drive/items/{parent-id}:/{filename}:/content
PUT /sites/{site-id}/drives/{drive-id}/{parent-id}:/{filename}:/content
PUT /users/{user-id}/drive/items/{parent-id}:/{filename}:/content

Тело запроса

Содержимое текста запроса должно представлять собой двоичный поток файла, который необходимо отправить.

Ответ

При успешном выполнении этот метод возвращает объект driveItem для вновь созданного или обновленного файла в теле ответа.

Пример (отправка нового файла)

В этом примере строка "Содержимое файла идет здесь". передается в файл на диске вошедшего пользователя в папку FolderA с именем FileB.txt.

PUT /me/drive/root:/FolderA/FileB.txt:/content
Content-Type: text/plain

The contents of the file goes here.

Отклик

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

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "0123456789abc",
  "name": "FileB.txt",
  "size": 35,
  "file": { }
}

Пример (обновление существующего файла)

В этом примере показано, как заменить содержимое файла с известным идентификатором.

PUT /me/drive/items/{item-id}/content
Content-Type: text/plain

The contents of the file goes here.

Отклик

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

HTTP/1.1 201 Created
Content-Type: application/json

{
  "id": "0123456789abc",
  "name": "FileB.txt",
  "size": 35,
  "file": { }
}

Примечания

Заблокированные типы файлов

SharePoint Server 2016 блокирует отправку на сервер файлов с некоторыми расширениями.

  • ASHX — файл веб-обработчика ASP.NET
  • ASMX — исходный файл веб-служб ASP.NET
  • JSON — файл нотации объектов JavaScript
  • SOAP — файл протокола SOAP
  • SVC — файл службы Windows Communication Foundation (WCF)
  • XAMLX — файл службы рабочих процессов Visual Studio

Дополнительные сведения о блокируемых расширениях файлов см. в статье Типы файлов, которые невозможно добавить в список или библиотеку.

Поведение для разрешения конфликтов

По умолчанию этот API заменяет существующий элемент с тем же именем. Чтобы настроить поведение разрешения конфликтов, добавьте в запрос параметр @microsoft.graph.conflictBehavior запроса со значениями fail, replace или rename.

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

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