Ошибка протокола при доступе к списку Sharepoint Office 365 с помощью приложения C# - PullRequest
0 голосов
/ 08 января 2020

Ошибка ниже при попытке получить доступ к данным точки доступа из WebService. Дополнительная информация: Сбой запроса с состоянием HTTP 401: не авторизован.

  1. Состояние отображается как - ProtocolError
  2. Внутреннее исключение - null Response
  3. Код статуса - Несанкционированный

Возможность доступа к точке доступа напрямую из браузера с теми же учетными данными Код:

            App.ClientSpecsList.Lists listService = new App.ClientSpecsList.Lists();

            System.Net.ServicePointManager.SecurityProtocol = System.Net.SecurityProtocolType.Tls12;
//Tried setting different protocol types
            listService.Url = "https://testsite.sharepoint.com/TrainingForAll/_vti_bin/Lists.asmx";
            listService.Credentials = new System.Net.NetworkCredential(Username, Password, "Domain");

            System.Xml.XmlNode ndListView = listService.GetListAndView("Client Specs","");
            string strListID = ndListView.ChildNodes[0].Attributes["Name"].Value;
            string strViewID = ndListView.ChildNodes[1].Attributes["Name"].Value;

Тот же код работал нормально с SharePoint 2008

1 Ответ

0 голосов
/ 08 января 2020

Проверьте приведенный ниже код, убедитесь, что имя пользователя, пароль и имя домена указаны правильно.

App.ClientSpecsList.Lists listService = new App.ClientSpecsList.Lists();
listService.Url = "http://sp2013/sites/team/_vti_bin/Lists.asmx";
listService.Credentials = new System.Net.NetworkCredential("username", "password", "domainname");
System.Xml.XmlNode ndListView = listService.GetListAndView("Client Specs", "");
string strListID = ndListView.ChildNodes[0].Attributes["Name"].Value;
string strViewID = ndListView.ChildNodes[1].Attributes["Name"].Value;

Если ошибка 401 все еще появляется, попробуйте использовать пользователя admin, чтобы проверить, работает ли она. И проверьте шаги в статье ниже.

SharePoint 2010 - веб-службы

Если вы хотите получить доступ к SharePoint Online, нам нужно использовать SharePointOnlineCredentials класс для передачи учетных данных.

...