很难更改共享点项目(如文件)的作者。 我正在使用的实际jsonstring:
{'__metadata': { 'type': 'SP.Data.DocumentsItem' } ,'AuthorId': '20'}
发布到此网址:
https://mysharepoint.sharepoint.com/sites/mysite/_api/web/lists/getByTitle('Documents')/items(137)
我已将Created By设置为Readonly = false,但工作正常,但Created By或Modified By没有改变,我没有收到错误。 我的请求中还需要其他东西吗?
谢谢!
答案 0 :(得分:0)
对于update
操作,需要执行以下操作:
HTTP
动词POST
请求
X-HTTP-Method
标头,其值为MERGE
。POST
If-Match
标头,其中包含实体原始ETag的值。以下示例演示了如何更新单值用户字段:
var listTitle = 'Requests';
var listItemId = 1;
var properties = {
'__metadata': { "type": "SP.Data.RequestsListItem" },
'AssignedToId': 1 //single-valued User field value
};
var requestUrl = _spPageContextInfo.webAbsoluteUrl + "/_api/web/lists/getbytitle('" + listTitle + "')/items(" + listItemId + ")";
updateJson(requestUrl,properties)
.done(function(data){
console.log('List item has been updated');
})
.fail(function(error){
console.log(JSON.stringify(error));
})
,其中
function updateJson(url,payload)
{
return $.ajax({
url: url,
type: "POST",
contentType: "application/json;odata=verbose",
data: JSON.stringify(payload),
headers: {
"Accept": "application/json;odata=verbose",
"X-RequestDigest": $("#__REQUESTDIGEST").val(),
"X-HTTP-Method": "MERGE",
"If-Match": "*"
}
});
}