Отправка элемента в 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-адресу.