Goodreads Developers discussion
questions
>
user.friends OAuth
date
newest »


https://www.goodreads.com/friend/user...
Another thing to verify is to verify you're not using/storing cookies on your client.
Also some users have private profiles, so make sure to query a user whose profile is public.

session = OAuth1Session(...)
Working [200]:
session.get('https://www.goodreads.com/api/auth_user')
session.get('https://www.goodreads.com/user/compar...')
Not working [401]:
session.get('https://www.goodreads.com/friend/user...')
session.get('https://www.goodreads.com/friend/user...')

One thing I know is problematic is how parameter names with square brackets are handled, although it doesn't look like you have those in your case.
A 401 error means that the oauth signature was not verified: this could be for example that not all parameters are signed, or the timestamp is too old (timezone issues), or the nonce is missing...

It's weird how some API calls work but others don't. Does user.friends operate a different way? If someone could help me out, I'd really appreciate it!
EDIT: Flask-OAuth worked.

I switched to requests-oauthlib (https://github.com/requests/requests-...) and that library worked great (one caveat: when trading a request token for access token, just be sure to use a dummy 'verifier' variable since Goodreads doesn't return one.)
https://www.goodreads.com/friend/user... (returns 404)
https://www.goodreads.com/friend/user... (returns 401 not authorized despite seemingly being authenticated)
I'm able to use call other methods requiring OAuth however, such as shelves.add_to_shelf and user.compare.
I'm using rauth via python as in the example docs https://www.goodreads.com/api/oauth_e...
And help would be appreciated!