Search code examples
authenticationgoogle-reader

Google Reader Authentication problem


Google Reader API Seems expecting something different for authentication today!

About a week ago, I downloaded this, and everything is working and I try to port that to java. For my code, it is working perfectly (with the help on your examples) until today. I stack tracing everything and I found out that suddenly the google reader is not accepting only SID as the cookie. And of course, I test run your sample application as well and it is not working as well.

Then I went to tamper the data of the Google Reader, and I remove every cookie entries except the SID, and it is not working (well it gives 401, just like my application and your sample); I tested again and I found that it now needs another cookie entry called HSID, which, compare to SID (which is more than 100 word long) it is about 10-20 words. Any one know where can we get that additional HSID?

PS I can do the HTTPS for authentication and google is returning three tokens (SID, LSID, AUTH) to me. But nowhere I can guess what the HSID is.


Solution

  • I did it. Yes, the link provided by sfa is right. But the format is sort of too confusing. Here's how I do it.

    1. Post to https://www.google.com/accounts/ClientLogin with login credentials.
    2. In return, three tokens will be passed if correct login: a. SID b. LSID c. Auth
    3. Save the Auth somewhere in application. Forget about SID and LSID (I guess they might remove them later on)
    4. In every request, add following in the header: headername: Authorization value: GoogleLogin auth={Auth string} e.g. (in java)

      HttpGet method = new HttpGet(CommandUrl + QueryString); method.addHeader("Authorization", "GoogleLogin auth=" + Auth);

    This works. Thanks sfa for the link.