CSOM C # соединяется с Project Server - PullRequest
0 голосов
/ 05 марта 2019

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

Я пытаюсь подключиться к серверу Project Online, но не могу.

        string pwaPath = "Url";

        ProjectContext projContext = new ProjectContext(pwaPath);
        // Get the list of projects in Project Web App.
        SecureString password = new SecureString();
        foreach (char c in "password".ToCharArray()) password.AppendChar(c);
        //Using SharePoint method to load Credentials
        projContext.Credentials = new SharePointOnlineCredentials(@"domain\user", password);

        var projects = projContext.Projects;
        int j = 0;
        projContext.Load(projects);
        projContext.ExecuteQuery();
        foreach (PublishedProject pubProj in projContext.Projects)
        {
            Console.WriteLine("\n{0}. {1}   {2} \t{3} \n", j++, pubProj.Id, pubProj.Name, pubProj.CreatedDate);
        }

Это мой тестовый код. Используя SharePointOnlineCredentials, я получаю сообщение об ошибке

System.ArgumentException: 'Аргумент' username 'недействителен.'

Поэтому я попытался использовать user@xxx.com в качестве пользователя и получил

Значение заголовка ответа: «NTLM»

Из-за этого я попытался использовать NetworkCredential и получил эту ошибку:

Указанный сервер может не поддерживать API, используемые в этой операции.

Моей последней надеждой было проверить FormsAuthentication. Вот код и ошибка, которую я получил

projContext.AuthenticationMode = ClientAuthenticationMode.FormsAuthentication;    
FormsAuthenticationLoginInfo formsAuthInfo = new  FormsAuthenticationLoginInfo("user", "password");
projContext.FormsAuthenticationLoginInfo = formsAuthInfo;

'Серверу не удалось обработать запрос. ---> Сайт не настроен для проверки подлинности с помощью форм утверждений.

возможно, у кого-то есть идея, что я могу попробовать.

1 Ответ

0 голосов
/ 12 марта 2019

Нашли ошибку.Мне пришлось добавить dll с сервера в качестве ссылки, а не Nuget Microsoft.SharePointOnline.CSOM

...