ラベル Twitter4J の投稿を表示しています。 すべての投稿を表示
ラベル Twitter4J の投稿を表示しています。 すべての投稿を表示

2011-10-04

Twitter4Jを利用する(2)

Twitter4Jで、OAuth認証を行なってrequestTokenを取ってきた後にどうすればいいかという話です。
おさらいですが、Twitterでは一度OAuth認証を行えばあとは、「AccessToken 」と「TokenSecret」を利用することでTwitterにアクセスできます。その保存と再利用についてです。

保存方法
下記は、OAuth認証が終わりコールバックされたところでの処理です。
 AccessToken accToken = twitter.getOAuthAccessToken(requestToken, oauth_verifier);
 String aToken = accToken.getToken(); 
 String tokenSecret = accToken.getTokenSecret();
この方法で、AccessTokenとTokenSecretがStringの形で個別に扱えますのでこれをどこかに保存すればよいでしょう。AccessTokenクラスをシリアライズして保存というのもありかもしれません。

再利用
再利用する際は、下記のようになります。AccessTokenクラスを作成してそれを元にTwitterクラスのインスタンスを作成することになります。
 String aToken="AccessTokenを格納";
 String tokenSecret="TokenSecretを格納"; 
 AccessToken newToken = new AccessToken(aToken,tokenSecret);
  TwitterFactory factory = new TwitterFactory();
  Twitter twitter = factory.getInstance(newToken);
  twitter.updateStatus("またまたTOkenテスト");


2011-07-22

GAEでTwitter4Jを利用する 

JavaでTwitterクライアントを作るにはTwitter4Jを使えば簡単らしいが、GAE上で実装する場合はちょっとした工夫がいるようだ。

appengine-web.xmlの設定
設定のポイントは2つ。
  • sessionを使えるようにする
  • consumerKeyとconsumerSecretは、System-propertyとして記述
以上を実現するには以下のように記述するとよい。

サーブレットでの記述方法
下記に2つ載せますが、1つ目が最初に呼ばれるサーブレットで、2つ目はコールバックされるサーブレットです。1つ目では、
  • twitterクラスのインスタンス
  • requestToken情報
をセッションで保存しておくというのがポイントです。これは、memcacheに入れてもいいのかな?とにかく、状態を残しておかないといけません。
コールバックされるサーブレットでは、リクエストパラメータから「oauth_verifier」を受け取っておいてください(自動的に付与されます)。それを用いてAccessTokenを入手することになります。
参考URL
本サイトの内容は、下記のサイトを参考にさせていただきました。ありがとうございます。