2015年3月18日水曜日

Processing + Twitter4j で OAuth 認証 - その2

前回の続きを見て行きましょう。今回は PIN コードを入力するフォームの作成や accessToken の取得など、大切なのは部分がいくつかあります。


  • getPIN() 関数

PIN コードを入力するためのテキストフィールドを表示する関数です。また、入力された文字列を一時的に保存します。

setLayout で null を引数にすると、レイアウトマネージャが無効になります。これにより、手動で指定した位置にテキストフィールドを置けるようになります。new でテキストフィールドオブジェクトを生成して、setBounds で位置や大きさを決めます。入力された文字は、add で inputLine に加えていきます。

参考1:テキストを入力しよう
参考2:Processing で日本語入力フォーム(Swingアプリケーション利用)

  • マウスをクリックした時の処理

マウスをクリックした時の処理を書いています。ちょっと長いですが、ひとつずつ確認していきましょう。

まずクリックの有効範囲を指定します。次に、inputLine に保持していた情報を String 型の変数 pin に代入し、この pin と requestToken を引数にして Twitter から accessToken を取得します。さらに accessToken オブジェクトから aToken と aSecret を取得しますが、この2つがはじめの変数の宣言で省略した accessToken, accessSecret に相当します。これで準備が整いました。setProperties() 関数でこれらの情報を使って Twitter にアクセスし、getTimeline() 関数でタイムラインの上位5つを画面に表示させます。今回も try - catch 構文を使いましょう。


  • setProperties() 関数、getTimeline() 関数

これまでのエントリで見てきた処理と同じ内容です。

Twitter にアクセスできる状態になった場合は、certificatoin を true にしておきましょう。そうしなければ、OAuth 認証が成功しても、draw() 関数で設定した認証ボタンがそのまま描写され続けてしまいます。その他に変更点はありません。


  • すべてのコード

長くなりましたが、全体としてはこんな感じです。createWriter()createReader() を使うと Twitter へのアクセス権を保存でき、次回から PIN コードの入略を省略することも可能になります。興味のある人は挑戦してみてください。

0 件のコメント:

コメントを投稿