iPhoneのロボットアプリをOAuthに対応させる
リモートブレインの夏休み:iPhoneロボット
今までのiPhoneアプリのツィッターインターフェイスは認証が出来ないので、statuses/user_timeline という認証なしで使えるAPIで、特定のアカウントのツィートを抜き出していましたが、これではロボットがツィートできないという問題を抱えていました。
つまり、命令は聞くが返事はしないという、つきあいにくいタクシーの運転手みたいな感じで、いろいろと不便です。
それに、ひとりのユーザーの命令しか聞けないというのも問題です。テストならよいですが、せっかくソーシャルサービスであるツィッターを使っているのだから、最終的には、多くの人の意見を聞いて次の行動を決定するロボットにしたいと思っています。
大げさにいえば、多くのユーザーのツィートを集合知としてとらえる実験ですね。
と、いう訳で、懸案のOAuth認証で、まっとうなツィッターAPIに挑戦することにしました。
ところでOAuthってなんて読むんでしょう。「オース」でいいのでしょうか? なんか昭和30年代のナイスガイに挨拶されてるみたいですが。「オーッス!」って。現代では応援団くらいしか使っていないのでは? いや、応援団も使ってない完全な死語の可能性も。
30年ほど前の1970年代末には、金子節子先生の傑作少女マンガ「オッス!美里ちゃん」がありましたね。僕も読んでました。あの頃は現役なのかな。でも当時大学生の僕は使わなかったですねえ。
ああ、脱線しました。
ともあれ、オース認証の現実的な実装はこちらのサイトがわかりやすかったです。
オース認証で必要なのは次の4つの暗号です。
CONSUMER-KEYとCONSUMER-SECRET
ACCESS_TOKENとACCESS_TOKEN_SECRET
これをちゃんと取得しようとすると、プログラムもユーザーの操作も複雑になります。
ただし、自作のソフトで使うだけなら、次のようにして必要な暗号を集め、ソースコードに埋め込んでアプリをビルドすれば、先に紹介したサイトのような簡単なクライアントアプリで問題なくツィッターAPIを使えます。
まず、自分のツィッターアカウントが必要です。これでツィッターのHPにログインしておきます。
ツィッターホームの一番下のメニューから「API」をクリック
移動した英語の画面の上のメニューから「Your Apps」をクリック
移動した日本語まじりの画面から「新しいアプリケーションを登録する」をクリック
ここでアプリケーション名を「適当に(英文がいいと思います。簡単な名前は他とかぶる場合があります。)」つけ必要事項を入れて、「クライアント」「Read & Write」で登録(この辺わからなければ、詳しい説明のサイトがあるでしょうから、検索してください)
登録できたら表示された画面にCONSUMER-KEYとCONSUMER-SECRETがあります。
その画面右の「My Access Token」をクリックするとACCESS_TOKENとACCESS_TOKEN_SECRETが表示されます。
以上の情報を、前述のサイトのツイッターに投稿するコードに組み込んで呼び出せば、自分のツィッターに投稿できます。
もちろん、認証が必要な他のAPIも同じように実装できますので、まあなんとかそれらしいことが出来るめどが立ちました。
« iRover走行テスト!ジャイロはやっぱり振動に弱い | トップページ | iRoverの光カプラ »
「リモートブレインの夏休み」カテゴリの記事
- 周回遅れのiPhone開発(2011.08.21)
- 簡単にできる!インターネットリモコンロボの製作(1)(2010.10.21)
- softModemの試験運用は謎のマシーンで!(2010.10.19)
- Modem版への改造終了です(2010.10.12)
- SoftModem用インターフェイスのまとめ(2010.10.05)
コメント