SharePointのドキュメントにある各フォルダの更新日時を、最終更新日時に変更したいのですが、書き換わりません。
更新方法と現状のコードが正しいか教えて頂けないでしょうか…?
※listItem.Update()だと、実行したその日時になってしまう為、listItem.SystemUpdate()を使用しています
C#
1 2using (var context = new ClientContext("URL")) 3{ 4 var passWord = new SecureString(); 5 foreach (char c in "パスワード".ToCharArray()) 6 { 7 passWord.AppendChar(c); 8 } 9 context.Credentials = new SharePointOnlineCredentials("アカウント", passWord); 10 11 var documents = context.Web.Lists.GetByTitle("ドキュメント"); 12 documents.Fields.GetByInternalNameOrTitle("Modified").ReadOnlyField = false; 13 documents.Update(); 14 context.ExecuteQuery(); 15 16 var query = CamlQuery.CreateAllItemsQuery(); 17 var collListItem = documents.GetItems(query); 18 19 context.Load(collListItem, 20 items => items.Include( 21 item => item.Id, 22 item => item.DisplayName, 23 item => item.ContentType, 24 item => item["Modified"], 25 item => item["Last_x0020_Modified"] 26 )); 27 context.ExecuteQuery(); 28 29 foreach (var listItem in collListItem.Where(item => item.ContentType.Name == "フォルダー")) 30 { 31 if (DateTime.TryParse(listItem["Last_x0020_Modified"].ToString(), out var updDateTime)) 32 { 33 listItem["Modified"] = updDateTime; 34 listItem.SystemUpdate(); 35 } 36 } 37 context.ExecuteQuery(); // ←ここで日付が戻ってしまう 38 39 documents.Fields.GetByInternalNameOrTitle("Modified").ReadOnlyField = true; 40 documents.Update(); 41 42 context.ExecuteQuery(); 43}
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。