无法在C#中创建SharePoint 2013凭据,因为用户名不是电子邮件地址

时间:2016-03-11 10:35:25

标签: c# sharepoint-2013 credentials

我们的SharePoint 2013无需登录即可使用,因为我们已登录到Windows并且Windows凭据已传递到SharePoint。

我正在创建一个C#应用程序来读取SharePoint上的Documents站点中的文件列表并下载其中的一些。但是我已经迈出了第一步。我无法创建SharePoint将接受的SharePoint凭据,因为用户名不是电子邮件地址,SharePointOnlineCredentials不接受不是电子邮件地址的用户名。这是我目前的代码:

        using (ClientContext clientContext = new ClientContext(UriString))
        {
            clientContext.Credentials = new SharePointOnlineCredentials(UserName, Password);
            Web web = clientContext.Web;
            clientContext.Load(web);
            clientContext.ExecuteQuery();
            Console.WriteLine(web.Title);
        } 

我尝试过收集网络凭据,

var credentials2 =new NetworkCredential(UserName, Password, "MyDomain"); 

但我无法将网络凭据转换/转换为SharePoint凭据。

如何连接到SharePoint并体验与Windows相同的权限? (使用相同的用户名和密码)

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您使用的是SharePoint 2013内部部署环境(使用Windows身份验证)?

对于默认的Windows身份验证,请使用DefaultNetworkCredential而不是SharePointOnlineCredentials