Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
dev:web_api:v3:write_requests [2017/11/27 04:07] – Remove Zotero 5 warning bwiernikdev:web_api:v3:write_requests [2019/03/11 18:01] – [Multi-Object Requests] dstillman
Line 58: Line 58:
  
 <code> <code>
-$ URL="https://api.zotero.org/users/1234567/items?key=P9NiFoyLeZu2bZNvvuQPDWsd" +$ URL="https://api.zotero.org/users/1234567/items
-$ curl $URL > items.json+$ API_KEY="P9NiFoyLeZu2bZNvvuQPDWsd" 
 +$ curl -H "Zotero-API-Key: $API_KEY" $URL > items.json
 $ vi items.json  # edit the item data $ vi items.json  # edit the item data
-$ curl -d @items.json -v -H "Expect:" $URL+$ curl -H "Zotero-API-Key: $API_KEY" -d @items.json -v $URL
 </code> </code>
  
-In this example, a JSON array of items is being saved to a text file, modified in a text editor, and then POSTed back to the same URL. (The ''-H %%"%%Expect:%%"%%'' is a requirement for cURL-based uploads, in order to disable sending of the unsupported ''Expect'' header.)+In this example, a JSON array of items is being saved to a text file, modified in a text editor, and then POSTed back to the same URL.
  
 This approach allows a complicated task such as batch editing to be performed using only cURL and a text editor. Any objects modified in the text file will be updated on the server, while unmodified objects will be left unchanged. This approach allows a complicated task such as batch editing to be performed using only cURL and a text editor. Any objects modified in the text file will be updated on the server, while unmodified objects will be left unchanged.
 +
 +A similar process can be used with PUT for individual objects:
 +
 +<code>
 +$ URL="https://api.zotero.org/users/1234567/items/ABCD2345"
 +$ API_KEY="P9NiFoyLeZu2bZNvvuQPDWsd"
 +$ curl -H "Zotero-API-Key: $API_KEY" $URL > item.json
 +$ vi items.json  # edit the item data
 +$ curl -H "Zotero-API-Key: $API_KEY" -X PUT -d @item.json -v $URL
 +</code>
  
 Note that when uploading full JSON, only the ''data'' property is processed. All other properties (''library'', ''links'', ''meta'', etc.) are ignored. Note that when uploading full JSON, only the ''data'' property is processed. All other properties (''library'', ''links'', ''meta'', etc.) are ignored.
Line 410: Line 421:
  
 <code>{ <code>{
-  "success": { +  "successful": { 
-    "0": "<objectKey>", +    "0": "<saved object>", 
-    "2": "<objectKey>"+    "2": "<saved object>"
   },   },
   "unchanged": {   "unchanged": {
Line 431: Line 442:
 }</code> }</code>
  
-The keys of the ''success'', ''unchanged'', and ''failed'' objects are the numeric indexes of the Zotero objects in the uploaded array. The ''Last-Modified-Version'' is the version that has been assigned to any Zotero objects in the ''success'' object --- that is, objects that were modified in this request.+The keys of the ''successful'', ''unchanged'', and ''failed'' objects are the numeric indexes of the Zotero objects in the uploaded array. The ''Last-Modified-Version'' is the version that has been assigned to any Zotero objects in the ''successful'' object --- that is, objects that were modified in this request.
  
 ^ Common responses ^^ ^ Common responses ^^
dev/web_api/v3/write_requests.txt · Last modified: 2021/06/02 16:30 by dstillman