c#-使用GraphServiceClient在OneDriveForBusiness中创建嵌套目录
作者:互联网
我一直在尝试利用Microsoft Graph Api与MVC Web应用程序内的用户的一个驱动器业务进行通信,已经设置了具有委托权限的所有内容,并且可以在登录用户的ODB中读取和写入数据,但是可以通过任何方式可以创建嵌套的文件夹或目录结构吗?
目前,我正在使用下面的代码在用户的ODB根目录中创建文件夹,并且工作正常,但是在提供路径之前(在上载文件之前)寻找一种创建文件夹层次结构的方法.
DriveItem rootDirectory = graphServiceClient.Me.Drive.Root.Children.Request().AddAsync(new DriveItem
{
Name = "RootDirectory",
Folder = new Folder(),
}).Result;
对于RootDirectory中的另一个文件夹,尝试这样做但似乎不起作用(其中rootDirectory是上面创建的对象)
DriveItem subDirectory = graphServiceClient.Me.Drive.Root.Children.Request().AddAsync(new DriveItem
{
Name = "SubDirectory",
Folder = rootDirectory.Folder
}).Result;
即使它可以解决某些问题,也不确定这是否是最理想的解决方法,但建议还是值得赞赏的.
解决方法:
but looking for a way to create hierarchy of the folders when path is provided before uploading the file in it.
根据我的经验,graphServiceClient当前不支持文件夹的层次结构.
如果要创建子文件夹,则需要存在父文件夹.
解决方法是,我们可以使用以下代码创建子文件夹.您还创建了一个
递归函数创建嵌套函数
var folder= graphserviceClient.Me.Drive.Root.Children.Request()
.AddAsync(new DriveItem
{
Name = "tomfolder",
Folder = new Folder()
}).Result;
var subfolder = graphserviceClient.Me.Drive.Items[folder.Id].Children.Request()
.AddAsync(new DriveItem
{
Name = "subfolder",
Folder = new Folder()}
).Result;
而且您也可以将give your good ideas加入天蓝色团队.
标签:microsoft-graph,azure,azure-ad-graph-api,c 来源: https://codeday.me/bug/20191108/2009158.html