在层次结构中获取OneDrive文件夹

时间:2014-10-29 10:09:31

标签: .net xamarin office365

背景

我使用Microsoft.Office.365 0.1.1-alpha位从Xamarin应用程序(特定于iOS)访问OneDrive for Business。

我现在拥有的代码就像检索文件夹列表一样。

var client = await EnsureClientCreated(context);
var fileResult = await client.Files.ExecuteAsync();
var folders = fileResult.CurrentPage.OfType<Microsoft.Office365.SharePoint.Folder>();

问题是我得到了一个Folder对象列表,但是对于url路径中的提示没有层次结构的感觉。无论文件夹结构中的位置如何,我都会在OneDrive中获取所有文件夹。

URL看起来与根目录中的文件夹类似。

"https://tsse1008669-my.sharepoint.com/personal/someuser_some_domain_com/Documents/Shared"

但是Childrens集合包含0个子节点,并且没有其他任何内容表明它位于根目录中或者它具有父节点。

另外值得注意的是,我的SharePoint体验非常有限! :)

问题

如何使用&#34; Microsoft Office 365 My Files Library for .NET&#34;访问OneDrive for business。在某种程度上,我可以导航文件夹结构?

1 个答案:

答案 0 :(得分:0)

如果我的问题得到解决,我不是百分百肯定的。

请试一试。这应该给你一个可以使用的所有子文件夹&#34; my.sharepoint.com/personal/someuser_some_domain_com/Documents/Shared"。

如果这对你不起作用,请告诉我。

IPagedEnumerable<IFileSystemItem> filesResults = 
                                  await client.Files["Shared"].ToFolder().Children.ExecuteAsync();

//youmight loop through all child folders  
 foreach (IFileSystemItem file in filesResults.CurrentPage) 
 {
    // do something
 }

HTH 菲利普