C# - Загрузить документ с Sharepoint (Аутентификация ADFS) - PullRequest
0 голосов
/ 16 апреля 2020

У меня есть требование загрузить документ SharePoint (Sharepoint Online) через приложение C# windows. Когда я получаю доступ к SharePoint через Интернет через свой браузер и выполняю шаги аутентификации AD (пользователь XYZ) (шаги MFA), и я могу успешно загрузить документ.

Я выполнил следующий фрагмент кода, и он всегда возвращает ошибка HTTP 403 (доступ запрещен). Могу подтвердить, что я вошел в систему как пользователь XYZ. Поэтому я предполагаю, что это проблема с полномочиями. Как я могу сделать ie SSO для онлайн-ресурса, это вообще возможно?

Ниже приведен фрагмент кода.

        String ServerURL = @"https://acme.sharepoint.com/sites/Shared%20Documents";
        String serverFilePath = @"MyTemp.docx";

        String destPath = @"C:\Download\Temp.docx";

        // Create the sharepoint URL
        String url = string.Format("{0}/{1}", ServerURL, serverFilePath);

        // Create the download directory instance
        Directory.CreateDirectory(Path.GetDirectoryName(destPath)); 

        // Generate HTTP request and send credentials
        var request = System.Net.HttpWebRequest.Create(url);
        request.Credentials = System.Net.CredentialCache.DefaultCredentials;

        // Read Response
        using (var sReader = new StreamReader(request.GetResponse().GetResponseStream()))
        {
            using (var sWriter = new StreamWriter(destPath))
            {
                sWriter.Write(sReader.ReadToEnd());
            }
        }
...