Onedrive special App Folder - 创建一个新文件夹

Onedrive special App Folder - creating a new folder

我正在使用 OneDrive SDK 并已成功获得对我的特殊 App 文件夹的引用。

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

我想从这里创建一个名为 say "Deep Purple" 的子文件夹。

查看 C# 示例代码,我可以使用:

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);

但是没有,正如您从这张图片中看到的,我没有“请求”选项。

我显然误会了什么。

您的问题是您正在使用 Model(响应数据的对象表示)并试图获取仅从类型 RequestBuilder 返回的 Request。不过,你很接近!如果您想将文件添加到您的应用程序文件夹(Folder 类型)的子文件夹中,那么您的请求将如下所示:

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

SDK 的核心是依赖 OneDriveClient 对象来生成请求,因为它知道如何执行身份验证和 URL 生成等操作。 Model 只是服务返回信息的容器。您可以与客户端一起使用这些容器中的信息来生成您需要的任何请求。