Я использую Microsoft.OneDrive.Sdk в приложении UWP.
У меня есть базовые настройки и работа: я могу подключиться к OneDrive, аутентифицироваться и выполнять основные операции с Элементами, например, перечислятьСодержимое элемента (папки) и добавление новых элементов (папок).
Но я не могу добавить новый элемент (файл):
Чтобы добавить элемент, который вынеобходимо указать фасет (файл, папка, пакет и т. д.).
Чтобы указать элемент файла, необходимо указать содержимое файлов, в противном случае вы получите:
Невозможно создать файл без содержимого.BadRequest.Было сгенерировано исключение типа «Microsoft.Graph.ServiceException».
Если я попытаюсь установить File.Content с помощью потока, я получу:
Ошибка получения значения из ReadTimeout в System.IO.BufferedStream.at Newtonsoft.Json.Serialization.ExpressionValueProvider.GetValue (Цель объекта)
Я пробовал два варианта (текст из строковой переменной и содержимое текстового файла),оба возвращают одну и ту же ошибку (ошибка получения ReadTimeout в потоке):
Item newPlayListItem = new Item();
newPlayListItem.Name = playlistFileName;
newPlayListItem.File = new Microsoft.OneDrive.Sdk.File();
using (System.IO.MemoryStream stream = new System.IO.MemoryStream(Encoding.UTF8.GetBytes(myStringVariable), true))
{
newPlayListItem.Content = stream;
}
И альтернативно:
Item newPlayListItem = new Item();
newPlayListItem.Name = playlistFileName;
newPlayListItem.File = new Microsoft.OneDrive.Sdk.File();
var randomAccessStream = await myStorageFile.OpenReadAsync();
System.IO.Stream stream = randomAccessStream.AsStreamForRead();
newPlayListItem.Content = stream;
Есть идеи?