(401) Несанкционированная ошибка при работе с клиентской объектной моделью - PullRequest
4 голосов
/ 14 октября 2010

Я пытаюсь получить список библиотек документов с сайта sharepoint, вот мой код, это приложение для Windows

public string[] GetDocumentLibraries(ClientContext ctx)
    {
        Collection<string> libraries = new Collection<string>();
        try
        {
            //Getting the site from the SP context
            Web oWebsite = ctx.Web;
            write("INFO: SP site gotten");

            //Getting the list collection from the SP site
            write("INFO: Getting the list collection from the SP site");
            ListCollection listCollect = oWebsite.Lists;
            write("INFO: Loading the list");
            ctx.Load(listCollect);
            write("INFO: Getting the list");
            ctx.ExecuteQuery();
            write("INFO: List Collection size: " + listCollect.Count);

            //Getting the list of document libraries
            foreach (List docLibList in oWebsite.Lists)
            {
                if (docLibList.BaseTemplate == (int)ListTemplateType.DocumentLibrary)
                {
                    write("INFO: Document Library: " + docLibList.Title);
                    libraries.Add(docLibList.Title);
                }
            }
        }
        catch (Exception e)
        {
            write("ERROR: Error getting the list of document libraries, error detail " + e.Message + " " + e.StackTrace);
        }

        return libraries.ToArray();
    }

Я пробовал этот код на трех разных серверах SharePoint, этоработает в двух из них, но в третьем я получаю это исключение

ERROR: Error getting the list of document libraries, error detail The remote server returned an error: (401) Unauthorized.    at System.Net.HttpWebRequest.GetResponse()
   at Microsoft.SharePoint.Client.SPWebRequestExecutor.Execute()
   at Microsoft.SharePoint.Client.ClientContext.EnsureFormDigest()
   at Microsoft.SharePoint.Client.ClientContext.ExecuteQuery()
   at P_DocumentImporter.DocumentImporter.GetDocumentLibraries(ClientContext ctx)

И я уверен, что учетные данные верны,

Любая подсказка об этом,

Спасибо

1 Ответ

0 голосов
/ 19 ноября 2011

Этот вопрос выглядит старым, но, в интересах других, которые могут просматривать этот вопрос, существуют только возможные проблемы, вызывающие это.

  1. Учетные данные для входа (отсутствуют или неверны)
  2. Прокси / межсетевой экран между клиентом и сервером не разрешает связь через.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...