Невозможно загрузить большой файл в MS Graph Onedrive - PullRequest
0 голосов
/ 12 апреля 2020

Я использую метод PUT для загрузки в Onedrive

url= https://graph.microsoft.com/v1.0//users/{user-id}/drive/items/{item-path}:/{filename}:/content

var response = MSGraphHelper.InvokeGraphPUTStream(url, streamcontent)

Вышеописанное работает правильно, но только для файла размером менее 4 МБ. Я добавил условие для поддержки загрузки большого файла.

if (response == "RequestEntityisTooLarge")
{
sessionUrl = https://graph.microsoft.com/v1.0//users/{userId}/drive/items/{item-path}/createUploadSession
var uploadUrl = MSGraphHelper.InvokeGraphPost(url, null)

Я получил uploadUrl из метода POST, описанного выше, но когда я выполняю метод PUT с использованием uploadUrl, я получил ошибку «Bad Request».

Я не знаю, что было неправильно. Пожалуйста, помогите

1 Ответ

0 голосов
/ 16 апреля 2020

Можете ли вы проверить, что ваш запрос в формате, аналогичном приведенному ниже примеру? Мне удалось заставить это работать в Почтальоне, чтобы создать сеанс загрузки. Тело запроса является необязательным.

POST https://graph.microsoft.com/v1.0/sites/root/drive/root: / PostmanCreatedFile1: / createUploadSession

Дополнительный синтаксис для запросов HTTP можно найти здесь: https://docs.microsoft.com/en-us/graph/api/driveitem-createuploadsession?view=graph-rest-1.0#http -request

...