Goodreads Developers discussion
bugs
>
Can't remove a book from shelf
date
newest »


Some background: 'read' is an "exclusive" shelf so you can't just remove the book from that shelf without assigning it to another exclusive shelf (such as to-read and currently-reading). Instead of using the a=remove param, did you try to simply add it to another exclusive shelf? The server will automatically remove it from the existing exclusive shelf and assign it to the new one you'll be sending.

I use Fiddler to sniff my requests and when reissue the 'add-to-shelf' request I receive the same response.
Thank you for the workaround with assigning it to another shelf. Actually I already use this approach - first add it to another shelf and then try to remove it. It works for most of the books but not for all. For example:
1. Move to 'to-read' shelf
POST https://www.goodreads.com/shelf/add_t... HTTP/1.1
book_id=17286699&name=to-read
Response:
<?xml version="1.0" encoding="UTF-8"?>
1027555261
1285121394
2015-07-07T08:59:37+00:00
2015-07-07T08:59:37+00:00
6
132476783
to-read
true
2. Remove from 'to-read' shelf
POST https://www.goodreads.com/shelf/add_t... HTTP/1.1
book_id=17286699&name=to-read&a=remove
Response:
<?xml version="1.0" encoding="UTF-8"?>
to-read
removed
Then when I fetch book info again, it is in 'read' shelf.



Is there a way to achieve the same behavior as in the android app? There it's possible to remove a book from all shelves.
I use https://www.goodreads.com/shelf/add_t... with the optional parameter 'a' set to 'remove'. When executed the server returns it is removed but when book data is fetched again, it is still associated with 'read' shelf.
Note: it works fine when a book is in 'to-read' shelf.