我已经问过类似的问题,并且我认为自己正在取得进步。事实证明,我很难被atm卡住。
我正在尝试连接到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:'用户名'参数无效。
所以我尝试使用user@xxx.com作为用户并得到
响应头值为“ NTLM”
因此,我尝试使用NetworkCredential并收到此错误:
指定的服务器可能不支持此操作中使用的API。
我最后的希望是测试FormsAuthentication。这是代码和我得到的错误
projContext.AuthenticationMode = ClientAuthenticationMode.FormsAuthentication;
FormsAuthenticationLoginInfo formsAuthInfo = new FormsAuthenticationLoginInfo("user", "password");
projContext.FormsAuthenticationLoginInfo = formsAuthInfo;
'服务器无法处理请求。 --->未为“声明表单身份验证”配置站点。
也许有人知道我可以尝试什么。
答案 0 :(得分:0)
发现了错误。我必须添加服务器中的dll作为参考,而不是Nuget Microsoft.SharePointOnline.CSOM