Специальная папка приложения Onedrive — создание новой папки

Я работаю с OneDrive SDK, и мне удалось получить ссылку на мою специальную папку приложений.

  _appFolder = await OneDriveClient.Drive.Special.AppRoot.Request().GetAsync();

Отсюда я хочу создать подпапку, скажем, «Deep Purple».

Глядя на пример кода С#, я могу сделать это, используя:

var folderToCreate = new Item { Name = artistName, Folder = new Folder() };
        var newFolder = await OneDriveClient
                                  .Drive
                                  .Items[itemId]
                                  .Children
                                  .Request()
                                  .AddAsync(folderToCreate);

Но я думаю, что у меня уже есть ссылка на Items[itemId] (мой _appFolder имеет тип Item), поэтому я могу просто использовать:

var myNewFolder = await _appFolder.Children.Request().AddAsync(folderToCreate);

Но нет, как вы можете видеть на этом изображении, у меня нет опции «Запрос».

Опция

Я явно что-то недопонимаю.


person Russty    schedule 13.10.2016    source источник


Ответы (1)


Ваша проблема в том, что вы используете Model (объектные представления данных ответа) и пытаетесь получить Request, который возвращается только из типа RequestBuilder. Зато ты рядом! Если вы хотите добавить файл в дочерние папки вашего приложения (типа Folder), ваш запрос будет выглядеть так:

var newFolder = await oneDriveClient
    .Drive
    .Items[_appFolder.Id]
    .Children
    .Request()
    .AddAsync(folderToCreate);

По своей сути SDK использует объект OneDriveClient для генерации запросов, поскольку он знает, как выполнять такие действия, как аутентификация и создание URL-адресов. Model — это просто контейнеры для информации, возвращаемой службой. Вы можете использовать информацию в этих контейнерах совместно с клиентом для создания любого запроса, который вам нужен.

person cmayer-ms    schedule 20.10.2016