Quote:
Originally Posted by FaceDeer
The error that pops up in Calibre itself is:
Code:
calibre, version 5.8.1
ERROR: Goodreads Failure: The request contacting Goodreads has failed. Please try again.
URL: https://www.goodreads.com/shelf/add_to_shelf.xml
Response Code: 404
b'<?xml version="1.0" encoding="UTF-8"?>\n<GoodreadsResponse>\n <Request>\n <authentication>true</authentication>\n <key><![CDATA[UxvtOM3ogQWjfgiCnMleA]]></key>\n <method><![CDATA[shelf_add_to_shelf]]></method>\n </Request>\n <error>\n <code>40004</code>\n <generic><![CDATA[One or more parameters contains a value that did not resolve]]></generic>\n <detail><![CDATA[Book with that book_id not found]]></detail>\n <friendly><![CDATA[Book with that book_id not found]]></friendly>\n </error>\n</GoodreadsResponse>\n'
And the debug log reads:
Code:
File "runpy.py", line 194, in _run_module_as_main
File "runpy.py", line 87, in _run_code
File "site.py", line 82, in <module>
File "site.py", line 77, in main
File "site.py", line 49, in run_entry_point
File "calibre\debug.py", line 262, in main
File "calibre\gui_launch.py", line 73, in calibre
File "calibre\gui2\main.py", line 516, in main
File "calibre\gui2\main.py", line 523, in run_main
File "calibre\gui2\main.py", line 388, in run_gui
File "calibre\gui2\main.py", line 404, in run_gui_
File "calibre_plugins.goodreads_sync.action", line 292, in add_or_remove_to_shelf
File "calibre_plugins.goodreads_sync.dialogs", line 1758, in action_button_clicked
File "calibre_plugins.goodreads_sync.core", line 323, in add_remove_book_to_shelf
File "calibre_plugins.goodreads_sync.core", line 151, in _oauth_request_post
File "calibre_plugins.goodreads_sync.core", line 194, in _handle_failure
I would imagine that Goodreads should be responding with a 301 Moved Permanently instead of a 404 Not Found, but Goodreads hasn't struck me over the years as the best designed web site from a technical perspective.
|
That's pretty much what I expected. This isn't like using a browser to visit a page. This is an API call to a lower level application. The id is supplied as data and forwarding to another value is not necessarily the write thing. If anything returning a 404 could be considered wrong. Other APIs would return OK but return an error as part of the data.