1

Я пытаюсь использовать CSOM для доступа к данным с корневого сайта, а затем перебирать его подсайты для доступа к файлам, которые хранятся в его списках. Когда я перехожу к созданию ClientContext, он отлично работает с корневым URL-адресом, но когда я использую один из URL-адресов субтитров, я получаю 401, когда я нажимаю ExecuteQuery().SharePoint 2010 CSOM - 401 в подсайтовом запросе

using (var clientContext = new ClientContext(rootURL)) 
     { 
      Console.WriteLine("Establishing connection..."); 

      var userName = System.Configuration.ConfigurationManager.AppSettings["userName"]; 
      var domain = System.Configuration.ConfigurationManager.AppSettings["domain"]; 
      var password = System.Configuration.ConfigurationManager.AppSettings["pwd"]; 
      var credentials = new NetworkCredential(userName, password, domain); 
      clientContext.Credentials = credentials; 

      _clientContext = clientContext; 

      var spContext2 = new SharePointClientDataContext(clientContext); 

      ClientContext newContext = new ClientContext(subsiteURL); 
      var allLists = newContext.Web.Lists; 
      newContext.Load(allLists); 
      newContext.ExecuteQuery(); 

      try 
      { 
... 

Код не работает в newContext.ExecuteQuery(). Любые идеи, почему я столкнулся с 401 на уровне субсайта, но не с корневым уровнем?

Также стоит отметить, что эти функции работают локально, но в настоящее время я пытаюсь запустить это из своей операционной системы для доступа к файлам с моей виртуальной машины.

ответ

2

Вы не установили учетные данные для нового клиентского контекста, поэтому вы получаете HTTP-ошибку 401, что означает «Несанкционированное». В коде, вы должны добавить эту строку после newContext создается:

newContext.Credentials = credentials; 

В клиентской объектной модели SharePoint, объекты в другом контексте клиента полностью разделены.

+0

Можете ли вы уточнить, «установить учетные данные для нового клиентского контекста»? –

+0

См. Мой обновленный ответ – Matt

+0

Именно так, @Matt! Благодаря! – awh112

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