如何使用 CSOM (SharePoint) 设置_CheckinComment

本文关键字:设置 CheckinComment SharePoint 何使用 CSOM | 更新日期: 2023-09-27 17:56:26

我正在寻找一种设置_CheckinComment的方法。如果我像这样尝试:

Microsoft.SharePoint.Client.File myUploadFile = myList.RootFolder.Files.Add(fileCreationInformation);
ListItem myItem = myUploadFile.ListItemAllFields;
myItem["Title"] = Path.GetFileName(sDocPath);
myItem["_CheckinComment"] = "This is the comment";
myClientContext.Load(myItem);
myClientContext.Load(myUploadFile);
myClientContext.ExecuteQuery();

我得到Microsoft.SharePoint.Client.ServerException:无效数据已用于更新列表项。您尝试更新的字段可能是只读的。

我想更改_CheckinComment(内部名称),而不是这个:

myUploadFile.CheckIn("This is the comment", CheckinType.OverwriteCheckIn)

谁能帮忙?

如何使用 CSOM (SharePoint) 设置_CheckinComment

根据Microsoft,"_CheckinComment"是一个只读服务器字段。所以,这解释了你的错误。

虽然你没有具体说明你试图做什么,但我想我知道,因为我有自己的问题。我想你很生气,你不能在上传时发表签到评论......当你使用 checkin() 方法时,它会创建一个新版本。因此,您的上传跨越两个版本(第一个是没有签入注释的上传本身,第二个是添加签入注释)-有点混乱。

对我来说,关键是使用 Publish(string) [https://msdn.microsoft.com/en-us/library/microsoft.sharepoint.client.file.publish.aspx] 和 Unpublish(string) 方法。这允许您设置当前文件的签入注释,同时将当前版本升级/降级为次要版本。假设您的文档库具有主要版本和次要版本,则可以按如下方式应用它:

  1. 上传 -> 发布(strComment) 以创建带有注释的主要版本
  2. 上传 -> 发布(") -> 取消发布(strComment) 以创建带有注释的次要版本。