Отправка элемента в OneDrive с URL-адреса (ознакомительная версия)

Приложение может отправить элемент в OneDrive, указав его URL-адрес. OneDrive скачает файл непосредственно с удаленного сервера, поэтому приложению не придется отправлять байты файла. Это особенно удобно для мобильных клиентов и надстроек для браузеров, в которых содержимое файлов недоступно либо его передача обходится дорого.

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

Примечание. Отправлять элементы, указывая URL-адрес, можно только в OneDrive персональный.

Разрешения

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

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

HTTP-запрос

POST /me/drive/items/{parent-item}/children

Заголовки запросов

Имя Тип Описание
Prefer строка Задано значение respond-async, включающее асинхронную передачу файлов. В противном случае запрос прерывается.

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

Тело запроса должно содержать представление элемента, который необходимо создать на основании удаленного URL-адреса, в формате JSON. Обратите внимание, что когда служба скачивает файл с удаленного URL-адреса, она не проходит проверку подлинности от имени пользователя, поэтому URL-адрес должен быть общедоступным.

Отклик

Этот метод возвращает сведения о том, каким способом отслеживать ход скачивания (при получении соответствующего запроса).

HTTP/1.1 202 Accepted
Location: https://api.onedrive.com/monitor/4A3407B5-88FC-4504-8B21-0AABD3412717

Пример

POST /drive/items/{parent-item}/children
Content-Type: application/json
Prefer: respond-async

{
  "@microsoft.graph.sourceUrl": "http://wscont2.apps.microsoft.com/winstore/1x/e33e38d9-d138-42a1-b252-27da1924ca87/Screenshot.225037.100000.jpg",
  "name": "halo-screenshot.jpg",
  "file": { }
}

Ответ

Сразу после принятия запроса служба возвращает сведения о том, как отслеживать ход копирования.

HTTP/1.1 202 Accepted
Location: https://api.onedrive.com/monitor/4A3407B5-88FC-4504-8B21-0AABD3412717

Значение заголовка Location — это URL-адрес, с помощью которого можно определить текущее состояние операции и узнать, когда отправка будет завершена.

Замечания

В OneDrive для бизнеса, SharePoint Online и SharePoint Server 2016 не поддерживается отправка по URL-адресу.