API-интерфейс Sharepoint сценария c #, выдающий ошибку 401 на удаленном сервере - PullRequest
0 голосов
/ 28 ноября 2018

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

class Program
{

    static void Main(string[] args)
    {
        //Delcaring Required variable (Actual variable values have been changed to dummy one)
        var webUri = new Uri("https://blahblah.sharepoint.com");  
        string proxy = "http://abc.abc.com:1234/";
        const string userName = "abc@blahblah.com";
        const string password = "123";
        string SalesPOV_GUID = "6319bd1f-7f-4ffd-95dc-a992afc4da10";
        string Clients_GUID = "ojfoeiawe-3abcc6-41cd-be23-cf6043671d53";

        //Creating a secured sring for SharepointOnline Credentials
        var securePassword = new SecureString();
        foreach (var c in password)
        {
            securePassword.AppendChar(c);
        }

        //Setting up credentials for Sharepoint
        var credentials = new SharePointOnlineCredentials(userName, securePassword);

        //Makiing a Call
        using (var client = new WebClient())
        {


            try
            {
                //setting up proxy
                System.Net.WebProxy wp = new System.Net.WebProxy();
                Uri newUri = new Uri(proxy);
                wp.Address = newUri;
                client.Proxy = wp;
            }
            catch (WebException e) //In package we need to fail the package on catching exception.
            {
                string pageContent = new StreamReader(e.Response.GetResponseStream()).ReadToEnd().ToString();
            }
            client.Headers.Add("X-FORMS_BASED_AUTH_ACCEPTED", "f");
            client.Credentials = credentials;
        }
    }
}

1 Ответ

0 голосов
/ 28 ноября 2018

Проверьте, не настроен ли для вашего сайта sharepoint аутентификация "pass-through" для физического пути.

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