如何使用C#中的CSOM连接到Office 365上的SharePoint?

时间:2015-06-23 18:17:29

标签: c# sharepoint

我无法在Office 365上连接到新的开发SharePoint Online网站。我可以通过浏览器查看该网站和列表,并且我已将API用户添加为网站管理员和O365管理员调用ClientContext.ExecuteQuery()时,我一直收到401错误。任何建议都表示赞赏。

我不知道我是否输入了错误的网址,或者用户没有权利,或者可能是完全不同的。我已经测试了用户名和密码,因为如果我使用了错误的密码,它会给我一个关于无效用户的错误。所以,我非常确定我拥有正确的凭据。该用户已被设置为O365管理员并已被授予"编辑"通过该控制台对SharePoint网站的权限。我甚至尝试使用自己的凭据,而且我是创建该网站的凭据。

我的目标是最终从特定列表中获取列表项。但是,由于我无法做到这一点,我还没有走得太远。

以下是来自控制台应用的一些示例代码:

ClientContext cc;
SecureString pw;

cc = new ClientContext("http://XXXX.sharepoint.com");
pw = new SecureString();
"XXXX".ToCharArray().ToList().ForEach(c => pw.AppendChar(c));
cc.Credentials = new SharePointOnlineCredentials("api@XXXX.onmicrosoft.com", pw);
cc.Load(cc.Web);
cc.ExecuteQuery();

1 个答案:

答案 0 :(得分:0)

试试这个:

ClientContext cc = new ClientContext("https://XXXX.sharepoint.com");
SecureString pass = new SecureString();

foreach (char c in "XXXX".ToCharArray();
    pass.AppendChar(c);

cc.Credentials = new SharePointOnlineCredentials("api@XXXX.onmicrosoft.com", pass);
cc.Load(cc.Web);
cc.ExecuteQuery();