简短的回答:你不能。不支持通过 SharePoint Web Services UpdateListItems 操作更新 Created、Modified、Created By、Modified By 等系统字段。
注意:Created By (Author) 和 Modified By(Editor) 字段可以是
仅以这种方式更新 非库 SharePoint 列表
但是有一个解决方法。基本上这些字段无法更新的原因是因为它们被声明为ReadOnly。因此,在修改列表模式以使系统字段可用于修改(将ReadOnly 属性设置为 false)后,Created 字段如下所示:
var updateSystemFields = "<Fields>" +
"<Method ID='1'>" +
"<Field ID='{8c06beca-0777-48f7-91c7-6da68bc07b69}' ColName='tp_Created' RowOrdinal='0' ReadOnly='FALSE' Type='DateTime' Name='Created' DisplayName='Created' StorageTZ='TRUE' SourceID='http://schemas.microsoft.com/sharepoint/v3' StaticName='Created' FromBaseType='TRUE' Version='4' ShowInNewForm='FALSE' ShowInEditForm='FALSE' />" +
"</Method>" +
"</Fields>";
$().SPServices({
operation: "UpdateList",
listName: "Requests",
listProperties:"",
updateFields: updateSystemFields,
newFields: "",
deleteFields: "",
listVersion: "",
async: false,
completefunc: function (xData, Status){
console.log('List schema has been modified');
}
});
列表项Created 字段值可以使用UpdateListItems 操作更新:
var dueDateVal = new Date('2016-01-01 6:00:00').toISOString();
$().SPServices({
operation: "UpdateListItems",
async: false,
listName: "Requests",
ID: 1,
valuepairs: [["Created", dueDateVal]],
completefunc: function (xData, Status) {
console.log('List item has been updated');
}
});