Получение файлов / папок из sharepoint через API в c# - PullRequest
0 голосов
/ 28 февраля 2020

Я пытаюсь связать приложение 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, например:

https://xx.sharepoint.com/_api/Web/GetFolderByServerRelativeUrl ('Контрактер / Формы') / Файлы

Единственный способ найти некоторые данные - это просмотреть «Общие документы / Формы»

У меня возникают проблемы с пониманием структуры каталогов и с тем, как я могу найти содержимое файлов / папки.

Заранее спасибо:)

1 Ответ

0 голосов
/ 28 февраля 2020

Оказалось, что я пропустил / сайты в одном из моих Uris.

...