Я пытался загрузить данные в учетную запись OneDrive, и я безнадежно застрял, не имея возможности загружать файлы размером не более 4 МБ. У меня нет проблем с доступом к диску вообще, так как у меня есть рабочие функции, которые создают папку, переименовывают файлы / папки и удаляют файлы / папки.
https://docs.microsoft.com/en-us/graph/api/driveitem-put-content?view=graph-rest-1.0&tabs=csharp
Эта документация по Microsoft Graph API очень дружественна к HTTP-коду, и я считаю, что могу довольно «перевести» документацию на C#, но все равно не удается получить файл и загрузить его в OneDrive. Кажется, в некоторых местах онлайн используются байтовые массивы? Что мне совершенно незнакомо, так как мой основной язык - C ++, и мы просто используем ifstream / ofstream. В любом случае, вот часть кода в спецификациях c (надеюсь, этого достаточно):
var item = await _client.Users[userID].Drive.Items[FolderID]//"01YZM7SMVOQ7YVNBXPZFFKNQAU5OB3XA3K"].Content
.ItemWithPath("LessThan4MB.txt")//"D:\\LessThan4MB.txt")
.CreateUploadSession()
.Request()
.PostAsync();
Console.WriteLine("done printing");
В существующем состоянии он загружает временный файл с тильдой "~" в OneDrive ( как будто я мог только открыть, но не импортировать данные из файла на него). Если я меняю имя файла так, чтобы оно включало в себя местоположение файла, оно выдает ошибку:
Сообщение: обнаружена функция 'microsoft.graph.createUploadSession' для открытого свойства. Функции открытых свойств не поддерживаются.
Спасибо, любые комментарии и помощь будут много значить.