Goodreads Developers discussion

examples / showcase > Goodreads OAuth Docs

Comments Showing 1-16 of 16 (16 new)    post a comment »
dateDown arrow    newest »

message 1: by Craig (new)

Craig (cpjolicoeur) | 29 comments The Goodreads oauth documentation is very sparse to say the least (

I'm assuming typical OAuth workflow of:


Is this correct?

if so, I am having issues with the authorize URL. I request a token and recieve one fine, but then when I hit the authorize URL, I consistently get directed to a page that says "page unavailable. An unexpected error occured...." (seems like a 500 error page).

This is all from an iOS Objective-C application.

For example, the /oauth/authorize URL I am hitting is this:

And since the user isnt logged in on the device, they are redirected to:

which is the page that is showing the "page unavailable" error message.

Any ideas?

message 2: by Craig (new)

Craig (cpjolicoeur) | 29 comments there is no info in the docs as well about if we need to use signatures and things for the OAuth API as well???

message 3: by Michael (new)

Michael Economy (michaeleconomy) We use oauth 1, I highly recommend using a library, although, from what i understand the iOS oauth libs are imperfect.

Docs are available here:

message 4: by Craig (new)

Craig (cpjolicoeur) | 29 comments Thanks for the reply.

I am using a library, not writing by hand.

Can you explain why my call for the authorize url at ""

redirects to the user/sign_in page but with error content and not a login dialog?

message 5: by Craig (new)

Craig (cpjolicoeur) | 29 comments also, does the goodreads oauth requiring signing?

message 6: by Ettore (last edited Jun 27, 2011 01:30PM) (new)

Ettore Pasquini Craig, I recommend using the OAuthConsumer library on iOS. That's the one we use in our iPhone app.

See if that changes things for you.

Regarding the "page unavailable" error, I am not quite able to reproduce it, meaning I do get the normal sign_in page if I am not logged in when hitting the URL you provided:

message 7: by Craig (new)

Craig (cpjolicoeur) | 29 comments @Ettore,

I am using the OAuthConsumer library. Its the most stable, and full-featured iOS OAuth library so I use it on all my applications.

Are you attempting to hit that url I provided from the simulator, a mobile device or directly through a browser? It works fine for me in a browser as well, but not in the simulator or a mobile device.

message 8: by Craig (new)

Craig (cpjolicoeur) | 29 comments looks like someone else started a thread yesterday with the same issue I'm having on the auth page, so I'm not the only one.

message 9: by Ettore (new)

Ettore Pasquini We are investigating, thanks for your patience.

message 10: by Craig (new)

Craig (cpjolicoeur) | 29 comments @Ettore

No problems. Thanks for the update

message 11: by Ettore (new)

Ettore Pasquini We identified the problem (mobile sign_in appears to be broken), and we'll fix it today internally. It should appear live in the next few days.

message 12: by Craig (new)

Craig (cpjolicoeur) | 29 comments awesome. thanks so much

message 13: by Michael (new)

Michael Economy (michaeleconomy) Are you using a oauth package mandeep? the URL should be spit out by the library.

Here's a really simple example in ruby:

message 14: by Mandeep (new)

Mandeep | 3 comments No I'm not using the oauth libaray.

Do you know if and when goodraeds will adopt oauth2? Will oauth be compatible with mobile phone devices?

message 15: by Michael (new)

Michael Economy (michaeleconomy) I would highly recommend using a library, there are oauth libaries available in all modern languages.

We'd like to support oauth2, but don't currently have a timeline for adding that support.

What is your use case? Where are you running the code?

message 16: by Matteo (last edited Nov 22, 2019 08:06AM) (new)

Matteo Dello Ioio | 2 comments I think suggesting to use "a library" it's not a smart suggestion. There are a lot of libraries out there but they still require very oftern to provide oauth urls.
I think GoodReads IT should public a list of endpoints and the proper way to invoke them.

back to top