簡體   English   中英

使用客戶端對象模型在線訪問SharePoint-禁止的錯誤

[英]Access SharePoint online using client object model- Forbidden error

我嘗試使用客戶端對象模型創建新的列表項。 我創建了一個asp.net應用程序來執行此任務。 如果我傳遞了安裝在計算機中的SharePoint服務器的URL,則它可以工作。 但是,如果我提供我的SharePoint在線URL,它將無法正常工作,如下面的代碼所示。 我收到“遠程服務器返回錯誤:(403)禁止。”錯誤。 任何想法?

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();

如果您嘗試從SharePoint Online獲取上下文對象,則必須輸入正確的Credentials ,對於SharePoint Online,則應使用SharePointOnlineCredentials類

可能的身份驗證方法如下所示:

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();
}

我想您只需提供登錄憑據即可,它應該可以工作:

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

您需要包括System.Net:

using System.Net;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM