2

我正在嘗試使用客戶端對象模型創建SharePoint點日曆事件。我可以創建項目並設置列值除「EndDate」列以外的所有列。當我嘗試設置此列時,出現以下錯誤來自德語的消息翻譯是「在更新列表條目時使用了無效數據。要更新的字段可能是寫保護的。」如果跳過此列,列出在Sharepoint服務器上創建的沒有enddate屬性的項目,但在日曆視圖中不可見。我可以看到項目的「datasheetview」型的觀點,如果我在這裏設定的結束日期也正是在日曆視圖中可見。(奇怪的是,它是強制性的字段)如何使用客戶端對象模型創建共享點日曆​​列表項

Server Exception Microsoft.SharePoint.Client.ServerException was unhandled. Message=Es wurden ungültige Daten zur Aktualisierung des Listeneintrags verwendet. Das Feld, das Sie aktualisieren möchten, ist möglicherweise schreibgeschützt. Source=Microsoft.SharePoint.Client.Runtime ServerErrorCode=-2147024809 ServerErrorTypeName=System.ArgumentException ServerStackTrace="" StackTrace: 
     at Microsoft.SharePoint.Client.ClientRequest.ProcessResponseStream(Stream responseStream) 
    at Microsoft.SharePoint.Client.ClientRequest.ProcessResponse() 
     at Microsoft.SharePoint.Client.ClientRequest.ExecuteQueryToServer(ChunkStringBuilder sb) 
     at Microsoft.SharePoint.Client.ClientRequest.ExecuteQuery() 
     at Microsoft.SharePoint.Client.ClientRuntimeContext.ExecuteQuery() 
     at Microsoft.SharePoint.Client.ClientContext.ExecuteQuery() 
     at Sp_Ctx.Program.Main(String[] args) in_Ctx\Program.cs:line 129 InnerException: 

我的代碼如下

using (ClientContext ctx = ClaimClientContext.GetAuthenticatedContext(targetSite)){ if (ctx != null) { 
ctx.Load(ctx.Web); // Query for Web 

    ctx.ExecuteQuery(); // Execute 
      Console.WriteLine(ctx.Web.Title); 
      List list = ctx.Web.Lists.GetByTitle("calendarListName"); 
      ctx.Load(list.Fields); 
      ctx.ExecuteQuery(); 
      var newItem = list.AddItem(listItemCreationInfo); 
      newItem.Update();   
      newItem["Title"] = "myCalendar" ..... 
      newItem["EventDate"]= DateTime.Now; 
      newItem["EndDate"]= DateTime.Now.AddMinutes(30); 
      newItem["Location"]= "Office"; 
      newItem.Update(); 
      ctx.ExecuteQuery(); 

} 
+0

您是否嘗試過使用持續時間而不是結束日期? – Servy

+0

Yepp,但設置持續時間不起作用。即使我設置不會給出任何錯誤並且值保持不變。我認爲這是一種計算欄。 – haltunbay

+0

我沒有太高的期望(因此評論而不是回答),但它值得一試。 – Servy

回答

相關問題