authentication - 谷歌阅读器身份验证问题

标签 authentication google-reader

Google Reader API 今天似乎期待不同的身份验证!

大约一周前,我下载了 this ,并且一切正常,我尝试将其移植到 java。对于我的代码,直到今天,它都运行良好(在您的示例的帮助下)。我对所有内容进行堆栈跟踪,突然发现谷歌阅读器不只接受 SID 作为 cookie。当然,我也测试运行了您的示例应用程序,但它无法正常工作。

然后我去篡改谷歌阅读器的数据,我删除了除 SID 之外的所有 cookie 条目,但它不起作用(它给出了 401,就像我的应用程序和你的示例一样);我再次测试,我发现它现在需要另一个名为 HSID 的 cookie 条目,与 SID(长度超过 100 个字)相比,它大约为 10-20 个字。有谁知道我们在哪里可以获得额外的 HSID?

PS 我可以使用 HTTPS 进行身份验证,谷歌正在向我返回三个 token (SID、LSID、AUTH)。但是我无法猜测 HSID 是什么。

最佳答案

我做到了。
是的,link sfa提供的是对的。但是格式有点太困惑了。
这是我如何做到的。

  • 发布到 https://www.google.com/accounts/ClientLogin带有登录凭据。
  • 作为返回,如果正确登录,将传递三个 token :
    一种。标准识别码
    湾LSID
    C。授权
  • 将 Auth 保存在应用程序中的某处。忘记 SID 和 LSID(我猜他们以后可能会删除它们)
  • 在每个请求中,在 header 中添加以下内容:
    标题名称:授权
    值:GoogleLogin auth={Auth string}
    例如(在Java中)

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

  • 这有效。感谢 sfa 的链接。

    关于authentication - 谷歌阅读器身份验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3100078/

    相关文章:

    asp.net-mvc - AuthenticationManager.SignIn 与 AuthenticationManager.AuthenticateAsync 的目的是什么?

    facebook - 来自 URL 和 session 的 "state"参数不匹配

    api - Google Reader API 未读计数

    javascript - 登录后重定向到仪表板 [EMBER.JS]

    java - 无法连接到 SMTP 主机 - Spring MVC

    c# 如何登录谷歌阅读器

    java - Android 4.0 ICS 将 HttpURLConnection GET 请求转为 POST 请求

    python - 使用 Google Reader API 为帖子“取消星标”

    iphone - 在 iphone 谷歌阅读器应用程序中将项目标记为已读/未读

    java - 基本身份验证在 WebSphere 7 上不起作用