2016-10-13 3 views
0

Я работаю с OneDrive SDK и успешно получил ссылку на мою специальную папку приложений.Специальная папка приложения Onedrive - создание новой папки

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

Отныне я хочу создать подпапку под названием «Deep Purple».

Глядя на C# пример кода я могу сделать это с помощью:

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

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

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

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

No Request() Option

Я ясно то недоразумение.

ответ

1

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

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

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

Смежные вопросы