※ ChatGPTを利用し、要約された質問です(原文:javaでTwitterのOAuth認証を用いたつぶやきのポストを実現)
javaでTwitterのOAuth認証を用いたつぶやきのポストを実現
2010/05/14 21:05
このQ&Aのポイント
javaでTwitterのOAuth認証を用いたつぶやきのポストを実現したいと考えています。アクセストークンとアクセストークンシークレットは取得できたのですがそれを用いてつぶやきをポストすることができません。
OAuthのライブラリを使えばポストすることは出来たのですができればライブラリを使わずに実現したいと思っています。
おそらくポストのやりかたがおかしいと思うのですが何が悪いのかわかりません。javaはあまり得意ではないためお見せするのも恥ずかしいソースですがおかしなところを指摘していただけるとありがたいです。
javaでTwitterのOAuth認証を用いたつぶやきのポストを実現
javaでTwitterのOAuth認証を用いたつぶやきのポストを実現したいと考えています。アクセストークンとアクセストークンシークレットは取得できたのですがそれを用いてつぶやきをポストすることができません。OAuthのライブラリを使えばポストすることは出来たのですができればライブラリを使わずに実現したいと思っています。おそらくポストのやりかたがおかしいと思うのですが何が悪いのかわかりません。javaはあまり得意ではないためお見せするのも恥ずかしいソースですがおかしなところを指摘していただけるとありがたいです。ポストの部分を載せます。
String url="http://twitter.com/statuses/update.xml ";
URL urlObj=new URL(url);
HttpURLConnecton urlCon=(HttpURLConnection)urlObj.openConnection();urlCon.setRequestMethod("POST");
urlCon.setDoOutput(true);
urlCon.setRequestProperty("Content-Type","application/x-www-form-urlencoded");
urlCon.setRequestProperty("Authorization",header);
//変数headerには以下のような文字列が入っています
//OAuth oauth_nonce="****", oauth_signature_method="HMAC-SHA1", oauth_timestamp="****", oauth_consumer_key="****", oauth_token="****", oauth_signature="****", oauth_version="1.0"
String body="status=test";
PrintWriter pw=new PrintWriter(urlCon.getOutputStream());
pw.print(body);
pw.flush();
pw.close();
//ここでエラー
BufferedReader inStr=new BufferedReader(new InputStreamReader(urlCon.getInputStream()));
質問の原文を閉じる
質問の原文を表示する
お礼
わざわざ試していただいてありがとうございます。私が作っていたSignature Base Stringの各要素の順番が間違っていたようで、示していただいた順番で試みた結果認証エラーが無くなり無事投稿することができました。本当にありがとうございました。