I'm afraid with both the manual token grabbing and the new patch, the book downloads are back to being unusable. With these patches, I can now see the borrowed books, search for new books (I'm willing to bet borrowing works as well). But after attempting to download a book on loan, it fails with the same message.
Code:
calibre, version 7.10.0
ERROR: Unhandled exception: <b>ClientForbiddenError</b>: Failed to download e-book<p>HTTP Error 403: Forbidden</p>
calibre 7.10 embedded-python: True
Windows-10-10.0.19042-SP0 Windows ('64bit', 'WindowsPE')
('Windows', '10', '10.0.19042')
Python 3.11.5
Windows: ('10', '10.0.19042', 'SP0', 'Multiprocessor Free')
Interface language: None
EXE path: C:\Program Files\Calibre2\calibre.exe
Successfully initialized third party plugins: DeACSM (0, 0, 16) && DeDRM (10, 0, 9) && Annotations (1, 17, 13) && Count Pages (1, 13, 6) && EpubMerge (3, 2, 0) && EpubSplit (3, 9, 0) && Extract ISBN (1, 6, 5) && Goodreads (1, 8, 2) && Goodreads Sync (1, 16, 8) && KOReader Sync (0, 6, 7) && Kobo Utilities (2, 16, 13) && KoboTouchExtended (3, 6, 7) && OverDrive Libby (0, 1, 9)
Traceback (most recent call last):
File "calibre_plugins.overdrive_libby.libby.client", line 520, in send_request
File "urllib\request.py", line 525, in open
File "urllib\request.py", line 634, in http_response
File "urllib\request.py", line 563, in error
File "urllib\request.py", line 496, in _call_chain
File "urllib\request.py", line 643, in http_error_default
urllib.error.HTTPError: HTTP Error 403: Forbidden
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "calibre\gui2\threaded_jobs.py", line 85, in start_work
File "calibre_plugins.overdrive_libby.ebook_download", line 50, in __call__
File "calibre_plugins.overdrive_libby.ebook_download", line 94, in _custom_download
File "calibre_plugins.overdrive_libby.libby.client", line 808, in fulfill_loan_file
File "calibre_plugins.overdrive_libby.libby.client", line 540, in send_request
File "calibre_plugins.overdrive_libby.libby.errors", line 143, in process
calibre_plugins.overdrive_libby.libby.errors.ClientForbiddenError: <calibre_plugins.overdrive_libby.libby.errors.ClientForbiddenError; http_status=403, msg='HTTP Error 403: Forbidden', error_response=' ''>