如何解决使用ClientLogin进行身份验证并在Android中使用Google Reader API
|| 我必须将我的android应用程序中的消息发布到Google Reader。我正在使用ClientLogin进行身份验证并使用Google Reader API。当我尝试发送身份验证请求时,出现了错误。 找不到HTTP / 1.1 404 我认为客户端可以与服务器通信,但是服务器找不到请求的内容。我提供了以下网址 postURL = \“ http://www.google.com/reader/api/0/edit \”为 HttpPost post =新的HttpPost(postURL);。 请告诉我解决此问题的解决方案。解决方法
如果您使用的是ClientLogin,则使用非官方的Google Reader API可能只需要两种令牌即可:
身份验证令牌-这是主要的身份验证令牌,您需要在每个GET / POST请求的标头中将其发送到API,否则会收到错误消息(不是您遇到的错误消息,虽然)。为此,您可以对此URL进行POST(我前面有完整的代码示例):https://www.google.com/accounts/ClientLogin
编辑令牌-这是编辑令牌,您需要将其作为POST请求的表单参数发送给任何编辑API(例如http://www.google.com/reader/api/0/edit (已经提到)。为此,您可以对此URL进行GET(我前面有一个代码示例):http://www.google.com/reader/api/0/token
遇到您要报告的404错误,必须是您的网址中有错字。复制我的网址,然后尝试一下。并排仔细检查。这是我用于此的Java代码-您也可以尝试一下:
private static final String _AUTHPARAMS = \"GoogleLogin auth=\";
private static final String _GOOGLE_LOGIN_URL = \"https://www.google.com/accounts/ClientLogin\";
private static final String _READER_BASE_URL = \"http://www.google.com/reader/\";
private static final String _API_URL = _READER_BASE_URL + \"api/0/\";
private static final String _TOKEN_URL = _API_URL + \"token\";
private static final String _USER_INFO_URL = _API_URL + \"user-info\";
private static final String _USER_LABEL = \"user/-/label/\";
private static final String _TAG_LIST_URL = _API_URL + \"tag/list\";
private static final String _EDIT_TAG_URL = _API_URL + \"tag/edit\";
private static final String _RENAME_TAG_URL = _API_URL + \"rename-tag\";
private static final String _DISABLE_TAG_URL = _API_URL + \"disable-tag\";
private static final String _SUBSCRIPTION_URL = _API_URL
+ \"subscription/edit\";
private static final String _SUBSCRIPTION_LIST_URL = _API_URL
+ \"subscription/list\";
public static String getGoogleAuthKey() throws IOException {
String _USERNAME = \"USER_EMAIL@gmail.com\";
String _PASSWORD = \"USER_PASSWORD\";
Document doc = Jsoup
.connect(_GOOGLE_LOGIN_URL)
.data(\"accountType\",\"GOOGLE\",\"Email\",_USERNAME,\"Passwd\",_PASSWORD,\"service\",\"reader\",\"source\",\"[YOUR_APP_ID_GOES_HERE].apps.googleusercontent.com\")
.userAgent(\"[YOUR_APP_ID_GOES_HERE].apps.googleusercontent.com\")
.timeout(4000).post();
// RETRIEVES THE RESPONSE TEXT inc SID and AUTH. We only want the AUTH
// key.
String _AUTHKEY = doc
.body()
.text()
.substring(doc.body().text().indexOf(\"Auth=\"),doc.body().text().length());
_AUTHKEY = _AUTHKEY.replace(\"Auth=\",\"\");
return _AUTHKEY;
}
您可以在我对另一个问题的答案中看到一个获取编辑令牌并进行编辑的代码示例。
如果您需要文档(非官方但结构合理),请参阅我对此的答复-没有官方文档...
该代码基于http://www.chrisdadswell.co.uk/android-coding-example-authenticating-clientlogin-google-reader-api/版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。