Загрузка из библиотеки документов Sharepoint - PullRequest
0 голосов
/ 17 февраля 2020

Цель: загрузить документы из библиотеки документов Sharepoint 2010 с помощью C#

Я искал и нашел много вопросов / ресурсов, касающихся загрузки документов на локальный диск с Библиотека документов Sharepoint. До сих пор я не смог успешно реализовать решение.

Ради обсуждения моя библиотека документов находится по следующей ссылке: http://server.domain.com/sites/CompanyLocation/dprtmnts/DepartmentName/MyLibraryName/Forms/AllItems.aspx

В этой библиотеке документов находятся две папки, каждая из которых содержит несколько документов. Я хочу получить список этих документов (в каждой папке) и иметь возможность загрузить / открыть документ по команде.

То, что я пробовал:

  1. Связанный пост из этого комментария: https://sharepoint.stackexchange.com/a/105923

Связанный пост ({ ссылка }) предлагает решение для загрузки и загрузка. Мне нужно только скачать, поэтому я попробовал это. Это решение дает мне исключение Microsoft.SharePoint.Client.ServerObjectNullReferenceException. Нет никаких инструкций относительно того, каким должен быть url, listTitle или listItemId, так что я, вероятно, что-то делаю не так ... похоже, что он не получает никаких файлов.

Я также попробовал первый сообщение в блоге об этом ответе, которое указывает на использование пакета от bendsoft. Очевидно, этот пакет является платным, и он довольно дорогой .. Я не могу go по этому маршруту.

Другой ответ: { ссылка }

Это дает мне следующее исключение: (фактический сервер отредактирован за исключением)

Microsoft.SharePoint.Client.ClientRequestException: 'The IDCRL response header from server 'http://server.domain.com/' is not valid. The response header value is 'NTLM'. The response status code is 'Unauthorized'. 
Это решение: { ссылка }

Честно говоря, я даже не помню, почему это не сработало.

Если у кого-то есть что-то это могло бы помочь мне встать на правильный путь ... Я не знаком с веб-запросами и веб-авторизацией или чем-то подобным.

1 Ответ

1 голос
/ 18 февраля 2020

Если вы используете пример, который вы нашли в { ссылка }, но вам нужно адаптировать его для локального сервера SharePoint, так как этот код входит в систему SharePoint Online.

В определении public void Connect() замените строку
clientContext.Credentials = new SharePointOnlineCredentials(UserName, securePassword);
на следующую:
clientContext.Credentials = new NetworkCredential(UserName, securePassword, "putYourADDomainNameHere");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...