Я использую метод 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».
Я не знаю, что было неправильно. Пожалуйста, помогите
Можете ли вы проверить, что ваш запрос в формате, аналогичном приведенному ниже примеру? Мне удалось заставить это работать в Почтальоне, чтобы создать сеанс загрузки. Тело запроса является необязательным.
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