[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[EP-tech] Q: Updating fields using the REST API
As always, when asking you?ll find the answer yourself?
Enabling the REST module and
curl -X PUT -k -i -u myuser:mypass --data-binary "@test.txt" https://test.slub.se/rest/eprint/10668/title.txt
worked like a charm.
Sorry for spamming.
Christer
From: eprints-tech-bounces at ecs.soton.ac.uk [mailto:eprints-tech-bounces at ecs.soton.ac.uk] On Behalf Of Christer Enkvist
Sent: den 22 februari 2018 15:22
To: eprints-tech at ecs.soton.ac.uk
Subject: Re: [EP-tech] Q: Updating fields using the REST API
Any progress on this issue?
I?m feeling pretty incompetent at the moment as I have totally failed in updating one meta-data field without wiping all the others. I can update all metadata of a post with
curl -X PUT -i -u myuser:mypass --data-binary "@test.xml" -H 'Content-Type: application/vnd.eprints.data+xml' https://test.slub.se/id/eprint/10668
but it seems to be a DELETE and then POST process. Any suggestions on how to, for example, update the title field would be most welcome.
Regards,
Christer
From: eprints-tech-bounces at ecs.soton.ac.uk<mailto:eprints-tech-bounces at ecs.soton.ac.uk> [mailto:eprints-tech-bounces at ecs.soton.ac.uk] On Behalf Of rsdoiel at caltech.edu<mailto:rsdoiel at caltech.edu>
Sent: den 10 januari 2018 17:54
To: Christopher Gutteridge <cjg at ecs.soton.ac.uk<mailto:cjg at ecs.soton.ac.uk>>
Cc: eprints-tech at ecs.soton.ac.uk<mailto:eprints-tech at ecs.soton.ac.uk>
Subject: Re: [EP-tech] Q: Updating fields using the REST API
Thanks, I'll try that next. I've started to read through the Perl (I'm a bit rusty) to understand the details too. When I solve it I'll post something to the list hear as I notice this crops up everyone year or two.
All the best,
Robert Doiel
On Wed, Jan 10, 2018 at 3:27 AM, Christopher Gutteridge <cjg at ecs.soton.ac.uk<mailto:cjg at ecs.soton.ac.uk>> wrote:
I think you might have to put a whole field at a time, but it's many years since I've looked at this so it may have changed!
I'm guessing you can get the syntax via: GET /authors/rest/eprint/1/creators
On 08/01/2018 23:46, rsdoiel at caltech.edu<mailto:rsdoiel at caltech.edu> wrote:
CRUD operations on the EPrints 3.3.15 REST API
Happy New years everyone,
I have a question about using the REST API to update an EPrints collection (EPrints 3.3.15).
I'd like to update the value of the ID field for /rest/eprint/#####/creators/#####/id.txt
and when I try to put (id.txt currently is empty) I get an error
like
curl -v -u epautomation:testrepo -d "Moore-R-L" -X PUT http://lemurprints.local/authors/rest/eprint/1/creators/1/id.txt
* Trying 172.28.128.4...
* TCP_NODELAY set
* Connected to lemurprints.local (172.28.128.4) port 80 (#0)
* Server auth using Basic with user 'epautomation'
> PUT /authors/rest/eprint/1/creators/1/id.txt HTTP/1.1
> Host: lemurprints.local
> Authorization: Basic ZXBhdXRvbWF0aW9uOnRlc3RyZXBv
> User-Agent: curl/7.57.0
> Accept: */*
> Content-Length: 9
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 9 out of 9 bytes
< HTTP/1.1 501 Method PUT Not Implemented
< Date: Mon, 08 Jan 2018 23:36:53 GMT
< Server: Apache/2.4.7 (Ubuntu)
< Content-Length: 0
< Connection: close
<
* Closing connection 0
Doing a similar command to changed the "referred" field does work (flipping the value from TRUE to FALSE).
curl -v -u epautomation:testrepo -d "TRUE" -X PUT http://lemurprints.local/authors/rest/eprint/1/refereed.txt
* Trying 172.28.128.4...
* TCP_NODELAY set
* Connected to lemurprints.local (172.28.128.4) port 80 (#0)
* Server auth using Basic with user 'epautomation'
> PUT /authors/rest/eprint/1/refereed.txt HTTP/1.1
> Host: lemurprints.local
> Authorization: Basic ZXBhdXRvbWF0aW9uOnRlc3RyZXBv
> User-Agent: curl/7.57.0
> Accept: */*
> Content-Length: 4
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 4 out of 4 bytes
< HTTP/1.1 200 OK
< Date: Mon, 08 Jan 2018 23:42:56 GMT
< Server: Apache/2.4.7 (Ubuntu)
< Cache-Control: no-store, no-cache, must-revalidate
< Vary: Accept-Encoding
< Transfer-Encoding: chunked
< Content-Type: text/plain; charset=UTF-8
<
* Connection #0 to host lemurprints.local left intact
I am probably missing something obvious but any help would be appreciated.
Thanks,
Robert
*** Options: http://mailman.ecs.soton.ac.uk/mailman/listinfo/eprints-tech
*** Archive: http://www.eprints.org/tech.php/
*** EPrints community wiki: http://wiki.eprints.org/
*** EPrints developers Forum: http://forum.eprints.org/
--
Christopher Gutteridge -- http://users.ecs.soton.ac.uk/cjg
University of Southampton Open Data Service: http://data.southampton.ac.uk/
You should read our Web & Data Innovation blog: http://blogs.ecs.soton.ac.uk/webteam/
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.ecs.soton.ac.uk/pipermail/eprints-tech/attachments/20180222/cf10af34/attachment-0001.html