Access SharePoint online using client object model- Forbidden error

雨燕双飞 提交于 2019-12-08 09:14:27

问题


I tried to Create a new list item using client object model. I have created an asp.net application to do the task. It works if I pass the URL of SharePoint server which is installed in my machine. But if I give my SharePoint online URL it is not working as below code shows. I get "The remote server returned an error: (403) Forbidden. " error. Any idea?

ClientContext context = new ClientContext("https://xxx.sharepoint.com/SitePages/");
List announcementsList = context.Web.Lists.GetByTitle("Announcements");
ListItemCreationInformation itemCreateInfo = new ListItemCreationInformation();
Microsoft.SharePoint.Client.ListItem newItem = announcementsList.AddItem(itemCreateInfo);
newItem["Title"] = result.City;
newItem["Body"] = result.State;
newItem.Update();
context.ExecuteQuery();

回答1:


if you are trying to get a Context object from SharePoint Online you have to put in the right Credentials, as for SharePoint Online you should use the SharePointOnlineCredentials Class

A possible Authentication Method can be look like this:

private void AutheticateO365(string url, string password, string userName)
{
   Context = new ClientContext(url);
   var passWord = new SecureString();
   foreach (char c in password.ToCharArray()) passWord.AppendChar(c);
   Context.Credentials = new SharePointOnlineCredentials(userName, passWord);
   var web = Context.Web;
   Context.Load(web);
   Context.ExecuteQuery();
}



回答2:


I would imagine you just have to supply your login credentials and it should work:

clientContext.Credentials = new NetworkCredential("Username", "Password", "Domain");

You'll need to including System.Net:

using System.Net;


来源:https://stackoverflow.com/questions/25445515/access-sharepoint-online-using-client-object-model-forbidden-error

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!