代码之家  ›  专栏  ›  技术社区  ›  xandy

谷歌阅读器身份验证问题

  •  5
  • xandy  · 技术社区  · 15 年前

    大约一周前,我下载了 this ,一切正常,我尝试将其移植到java。对于我的代码来说,直到今天(在您的示例的帮助下)它仍然工作得很好。我跟踪了所有的东西,突然发现googlereader不再只接受SID作为cookie。当然,我也测试运行了您的示例应用程序,但效果不太好。

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

    PS我可以用HTTPS进行身份验证,google正在返回三个令牌(SID,LSID,AUTH)给我。但我猜不出什么是HSID。

    6 回复  |  直到 15 年前
        1
  •  10
  •   xandy    15 年前

    我做到了。 是的,那个 link sfa提供的是正确的。但是格式太混乱了。 我是这样做的。

    1. 发布到 https://www.google.com/accounts/ClientLogin 使用登录凭据。
    2. 答。锡德 c。认证
    3. 将身份验证保存在应用程序中的某个位置。忘记SID和LSID吧(我想他们以后可能会删除它们)
    4. 值:GoogleLogin auth={auth string}

      HttpGet method=new-HttpGet(CommandUrl+QueryString); method.addHeader(“授权”,“GoogleLogin auth=”+auth);

    这很管用。感谢sfa的链接。

        2
  •  3
  •   Community CDub    8 年前

    您必须将授权GoogleLogin auth=xxx添加到您的头中。这是来自 message :

    下面是一个快速总结如何使 已从获取身份验证 https://www.google.com/accounts/ClientLogin 响应Auth=value。每 请求你发送给读者你应该 认证orization:GoogleLogin auth=[价值]

    See it here .

        3
  •  1
  •   Mihai Parparita    15 年前

    看到了吗 http://code.google.com/p/google-reader-api/wiki/Authentication 有关详细信息,请简单地说,只支持ClientLogin和OAuth。请不要继续模拟浏览器流(使用SID和HSID cookies),这是不受支持的,可能会在任何时候中断。

        4
  •  1
  •   Wilfred Springer    14 年前

    或者考虑使用这里提供的ReaderTemplate类: http://github.com/wspringer/greader-java/ . 它基本上隐藏了在适当的报头中编织和(重新)身份验证的复杂性。

        5
  •  0
  •   yubenyi    15 年前

    首次登录时使用 https://www.google.com/accounts/ServiceLoginAuth

    我看到所有googlereaderapi操作都使用hsid。

    我使用firebug可以在setCookie响应字段中看到hsid

        6
  •  0
  •   Sandrino Di Mattia    14 年前

    xandy描述的4个步骤都很有效,谢谢。

    这是我在.NET中对xandy步骤的实现: http://sandrinodimattia.net/blog/post/Consuming-Google-(Reader)-with-NET-Part-1-Authentication.aspx