2015-04-10 3 views
0

eveyone.Как программно суммировать существующие документы в Sharepoint

Я не знаю точно, если это возможное действие, но это мне очень помогло.

Вот сценарий: у нас есть «teamplace», сделанный в Sharepoint, где у нас есть много технических документов в разных папках. Проблема в том, что мы потеряли контроль над этим, и теперь нам нужно создать сводку существующих файлов. Поэтому, надеясь, что нам не нужно идти в каждую папку и вложенную папку и записывать имя каждого файла, мне было интересно, возможно ли это сделать программно в C#.

В краткие сроки есть способ подключения в Sharepoint (я могу использовать свою сетевую учетную запись, имеющую доступ для нее) через приложение C#, а затем извлекать список существующих файлов или, по крайней мере, получать их пути ? Если да, то это слишком сложно?

Заранее спасибо.

ответ

0

Спасибо за ответ, Исаак ProjectedJetpacks, но я мог понять это по-другому, хотя. Я использовал сборку Microsoft.Sharepoint.Client.dll (вам нужно установить SDK Sharepoint Client) и просмотрел все списки внутри веб-сайта. Затем внутри каждого я искал папки (и использовал рекурсивный метод для перехода до последнего листа дерева папок) и для файлов в каждом из них. Для последнего, поместите всю информацию о файлах, которые мне нужны в CSV-файле. Некоторые примеры работ можно увидеть ниже:

ClientContext context = new ClientContext("<websiteurl>"); 
Web web = context.Web; 
context.Load(web); 
context.ExecuteQuery(); 
var q = from list in web.Lists 
       where <put condition here> 
       select list; 
var r = context.LoadQuery(q); 
context.ExecuteQuery(); 

foreach (var list in r) 
{ 
    context.Load(list.RootFolder); 
    context.ExecuteQuery(); 
    ... 
    //To get folders 
    GetFolders(context, list.Root.Folders); 
    //To get files 
    GetFiles(context, list.RootFolder.Files); 
} 

Важно помнить, чтобы поместить каждый выгружается объект внутри «context.Load()» и сразу после вызова «context.ExecuteQuery()».

Надеюсь, это может быть полезно для кого-то еще.

С уважением.

1

В прошлом я использовал веб-службы, которые предоставляет Microsoft, когда я хочу взаимодействовать с Sharepoint через C#. Веб-сервис Списки доступна @http://domain/sites/yourrepository/_vti_bin/Lists.asmx

Смежные вопросы