[英]PowerShell calling Sharepoint 2013 REST API update list item
[英]How to update share point 2013 list item in rest service
這是我的休息服務,用於更新列表項
標頭
X-RequestDigest: some unique id from contextinfo post service Content-Type: application/json;odata=verbose X-HTTP-Method: MERGE IF-MATCH: 49
身體
{ "__metadata": { "type": "SP.Data.TestListItem" }, "Title": "Title all1", "Option1": "Updated 2" }
當我在郵遞員中運行此URL時,出現錯誤
請求的ETag值
__metadata.etag
與對象的ETag值"8"
不匹配。
但是,如果我將標頭中的IF-MATCH
值更改為*
,它將正確更新。 為什么使用ETag會出現錯誤?
您使用的ETag不正確。 ETag將對應於商品的Version而不是商品的ID 。
對此進行測試的最好方法是對項目進行get請求,並查看ETag屬性的元數據。 您將看到與此類似的內容
{
"__metadata": {
"id":"Web/Lists(guid'xxxxxxxx')/Items(1)",
"uri":"https://site.sharepoint.com/site/subsite/_api/Web/Lists(guid'xxxxxx')/Items(1)",
"etag":"\"12\""
}
}
請注意ETag的格式。
在更新項目時,我想不出有什么充分的理由針對特定的ETag使用IF-MATCH。 ID的request參數應該足夠了。 想要PUT,合並或刪除項目的特定版本時 ,需要使用ETags檢查版本。
選中此“使用列表和使用REST列出項目”以了解更多信息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.