我正在使用google appengine(java)的路标向twitter发送状态更新。
OAuthConsumer consumer = new DefaultOAuthConsumer("AAA",
"BBB");
consumer.setTokenWithSecret("CCC", "DDD");
URL url = new URL("http://api.twitter.com/1.1/statuses/update.json?status=abc");
HttpURLConnection request;
request = (HttpURLConnection) url.openConnection();
consumer.sign(request);
request.setRequestMethod("POST");
request.connect();
InputStream response = request.getInputStream();
int a = response.read();
while (a!=-1){
resp.getOutputStream().write(a);
a = response.read();
}
你可以看到听到我将帖子参数放在网址中就像获取请求一样,其他人提到这对他们有效,我也尝试将它们放在消息正文中,就像你应该做的那样。但我总是得到 {“错误”:[{“message”:“无法验证您”,“代码”:32}]} 。我的令牌和秘密令牌都是正确的,但如果不是,我会得到{“错误”的不同错误:[{“message”:“无效或过期的令牌”,“代码”:89}]}。< / p>
我认为路标不是对整个身体进行oauth过程(包括参数),所以它给出了错误。
有什么想法吗?
答案 0 :(得分:0)
原来路标对app-engine来说不是一个很棒的库。它中的一些错误会阻止它在没有certin错误的情况下工作。 Scribe是一个更好的Oauth工具,可以与Appengine Java一起使用。