gpt4 book ai didi

java - Google Reader 编辑 API 身份验证问题

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:03:02 26 4
gpt4 key购买 nike

我在验证 GReader 编辑 API 时遇到问题。我可以使用 HTTPS (https://www.google.com/accounts/ClientLogin) 进行身份验证,Google 返回三个 token (SID、LSID、AUTH),但没有 HSID。

当我尝试添加新提要时 http://www.google.com/reader/api/0/subscription/quickadd?ck=1290452912454&client=scroll使用 POST 数据 T=djj72HsnLS8293&quickadd=blog.martindoms.com/feed/Cookie 中没有 HSID,响应状态代码为 401。使用 Cookie 中的 SID 和 HSID 一切正常。

这个 HSID 字符串是什么,在哪里可以找到?

感谢您的回答。

我的代码:

public void addNewFeed() throws IOException {
HttpPost requestPost = new HttpPost("http://www.google.com/reader/api/0/subscription/quickadd?ck=1290452912454&client=scroll");
getSid();
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>();
DefaultHttpClient client = new DefaultHttpClient();
requestPost.addHeader("Cookie", "SID=" + _sid + "; HSID=" + _hsid);
try {
nameValuePairs.add(new BasicNameValuePair("T", _token));
nameValuePairs.add(new BasicNameValuePair("quickadd", "blog.martindoms.com/feed/"));
requestPost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
HttpResponse response = client.execute(requestPost);

InputStream in = response.getEntity().getContent();
BufferedReader reader = new BufferedReader(new InputStreamReader(in));
StringBuilder str = new StringBuilder();
String line = null;

while ((line = reader.readLine()) != null) {
str.append(line + "\n");
}
System.out.println(str.toString());
in.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}

最佳答案

看起来您可能正在使用旧信息作为引用。 Google 现在改用 auth。

您需要将 getSid() 替换为 getAuth() 函数。

然后这一行

requestPost.addHeader("Cookie", "SID=" + _sid + "; HSID=" + _hsid);

现在应该是这样

requestPost.addHeader("Authorization", "GoogleLogin auth=" + _auth);

关于java - Google Reader 编辑 API 身份验证问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4259586/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com