如何在不创建新版本的情况下修复更新列表项字段属性值



使用Microsoft图形 API 更新 SharePoint 365 列表项字段元数据(例如文档库列表项(,项目版本号将递增到下一个版本号。

此外,此更新需要一段时间(几秒钟(,我怀疑这是由于系统需要创建新版本数据的时间。

我们还观察到Powershell Sharepoint PNP API命令可以选择使用"UpdateOverwriteVersion"设置进行调用,这正是我们希望使用Microsoft Graph API执行的操作。

我们之前在 GitHub Microsoft API Doc 项目中提出了同样的问题,建议我们在 Stackoverflow 中提问,以便更快地解决这个问题。

https://github.com/microsoftgraph/microsoft-graph-docs/issues/4909

使用图形 API 更新 SharePoint 365 中的项目的示例Microsoft:

PATCH /sites/[site-id]/lists/[list-id]/items/[item-id]/fields

JSON 正文数据:

{
"OneDummyField": "Example data"
}

无论如何在不增加版本的情况下进行更新?

谢谢。此致敬意

你不能,这是SharePoint的设计方式(无论如何,对于在线,我认为在本地你可以(。每次进行更改时,etag 都会递增。

您可以使用 JSOM 来解决此问题:

const ctx = SP.ClientContext.get_current();
const list = ctx.get_web().get_lists().getByTitle('My list');
const item = list.getItemById(1);
item.set_item('Title', `Updated with JSOM request, ${new Date().toISOString()}`);
// item.update(); // -> creates new version, updates Editor and modified date
// item.updateOverwriteVersion(); // -> creates no new version, updates Editor and modified date
item.systemUpdate(); // -> creates no new version, Editor and modified date remains untouched
ctx.executeQuery(success, failure);

最新更新