所以我决定试一试 Twitter Streaming api,所以我去了 twitter 开发页面并创建了一个测试应用程序,生成了我的 oAuth 令牌,然后我在终端中使用 curl 命令尝试了它,我得到了流很好,但是后来我决定尝试编写一小段java代码片段来做同样的事情,然后我遇到了问题。
下面是我的代码,我已经删除了我的令牌和授权码,用 * 而不是真实的。
public final static void main(String[] args) throws Exception {
HttpClient httpclient = new DefaultHttpClient();
try {
HttpPost post = new HttpPost(
"https://stream.twitter.com/1/statuses/sample.json");
final String header = "OAuth oauth_consumer_key=\"********\", oauth_nonce=\"*******", oauth_signature=\"**************", oauth_signature_method=\"HMAC-SHA1\", oauth_timestamp=\"1339160825\", oauth_token=\"*********", oauth_version=\"1.0\"";
final String headerTitle = "Authorization";
post.addHeader(headerTitle, header);
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String responseBody = httpclient.execute(post, responseHandler);
System.out.println("----------------------------------------");
System.out.println(responseBody);
System.out.println("----------------------------------------");
} catch (HttpResponseException e) {
System.out.println("Reponse status code: " + e.getStatusCode()
+ "\n");
e.printStackTrace();
httpclient.getConnectionManager().shutdown();
}
}
我还删除了导入行。
我不断收到 401 响应,可能是我对标题做错了。
先感谢您。