Я уже задавал подобный вопрос, и я думал, что делаю успехи. Хорошо получается, что я сильно застрял в банкомате.
Я пытаюсь подключиться к серверу 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;
'Серверу не удалось обработать запрос. ---> Сайт не настроен для проверки подлинности с помощью форм утверждений.
возможно, у кого-то есть идея, что я могу попробовать.