C# 通过c中的api从sharepoint获取文件/文件夹#

C# 通过c中的api从sharepoint获取文件/文件夹#,c#,rest,file,sharepoint,directory,C#,Rest,File,Sharepoint,Directory,我正在尝试将c#应用程序链接到sharepoint目录,以便创建文件夹、下载和上载文件。但是,我正在努力连接到正确的文件夹 我可以从allitems.aspx中检索内容,但我不确定如何从文件夹中实际获取内容 我尝试过使用ClientContext—类似这样: ClientContext cxt = new ClientContext("https://xx.sharepoint.com/sites/"); cxt.Credentials = GetCredent

我正在尝试将c#应用程序链接到sharepoint目录,以便创建文件夹、下载和上载文件。但是,我正在努力连接到正确的文件夹

我可以从allitems.aspx中检索内容,但我不确定如何从文件夹中实际获取内容

我尝试过使用ClientContext—类似这样:

        ClientContext cxt = new ClientContext("https://xx.sharepoint.com/sites/");

        cxt.Credentials = GetCredentials();

        List list = cxt.Web.Lists.GetByTitle("Kontrakter");
        var test = list.Views;
        var test1 = cxt.Web.Lists;

        cxt.Load(test1);
        cxt.Load(list);
        cxt.Load(test);
        var a = 4;

        var fullUri = new Uri("https://xx.sharepoint.com/sites/yy/Kontrakter/AllItems.aspx");
        //var folder = cxt.Web.GetFolderByServerRelativeUrl(fullUri.AbsolutePath);

        using (var rootCtx = new ClientContext(fullUri.GetLeftPart(UriPartial.Authority))) 
        {
            rootCtx.Credentials = GetCredentials();
            Uri webUri = Web.WebUrlFromPageUrlDirect(rootCtx, fullUri);  
            using (var ctx1 = new ClientContext(webUri))
            {
                ctx1.Credentials = GetCredentials();

                var list1 = ctx1.Web.GetList(fullUri.AbsolutePath); 
                ctx1.Load(list1.RootFolder.Files);
                ctx1.ExecuteQuery();

                Console.WriteLine(list.RootFolder.Files.Count);


            }
        }
或者通过以下常规api调用:

        ClientContext cxt = new ClientContext("https://xx.sharepoint.com/sites/");

        cxt.Credentials = GetCredentials();

        List list = cxt.Web.Lists.GetByTitle("Kontrakter");
        var test = list.Views;
        var test1 = cxt.Web.Lists;

        cxt.Load(test1);
        cxt.Load(list);
        cxt.Load(test);
        var a = 4;

        var fullUri = new Uri("https://xx.sharepoint.com/sites/yy/Kontrakter/AllItems.aspx");
        //var folder = cxt.Web.GetFolderByServerRelativeUrl(fullUri.AbsolutePath);

        using (var rootCtx = new ClientContext(fullUri.GetLeftPart(UriPartial.Authority))) 
        {
            rootCtx.Credentials = GetCredentials();
            Uri webUri = Web.WebUrlFromPageUrlDirect(rootCtx, fullUri);  
            using (var ctx1 = new ClientContext(webUri))
            {
                ctx1.Credentials = GetCredentials();

                var list1 = ctx1.Web.GetList(fullUri.AbsolutePath); 
                ctx1.Load(list1.RootFolder.Files);
                ctx1.ExecuteQuery();

                Console.WriteLine(list.RootFolder.Files.Count);


            }
        }
('Kontrakter/Forms')/Files

我能找到一些数据的唯一方法是查看“共享文档/表单”

我在理解目录结构以及如何实际查找文件/文件夹的内容时遇到问题


提前感谢:)

我发现我的一个URI中缺少一个/站点。

旧方法是使用FTP GetDirectory()或使用窗口方法从共享文件夹获取。