GAEでTwitterアプリつくってみた

Slim3の勉強がてら、GAEでTwitterアプリつくってみた。

仕様

  • OAuthで認証する
  • OAuthで取得したTokenはDataStoreに保存して再利用する
  • 保存するときのキーはGoogleアカウントとする(つまりGoogle認証済みが前提)
  • 自分のタイムラインを表示する

というだけである。案外まとまった情報がなくて苦労した。一つ例にとると、OAuthのリダイレクト先はtwitter4jでは、

  // こっちじゃなくて
  return redirect(requestToken.getAuthenticationURL());

というように解説しているページが多いのだが、

  // こっちが正しい
  return redirect(requestToken.getAuthorizationURL());

こっちが正解である。確かに間違いやすい。getAuthorizationURL()である。

などといいつつも、つくりながら、いろんなAPIが気になって、

  • ハッシュタグから検索
  • 自由入力検索
  • ツイート
  • ユーザのツイート一覧表示

なんかも作ってしまった。

なぜ作ったか?

そう、それならば「普通にTwitter使えばいいじゃん」という話である。
なぜ作ったか。

  1. Slim3の勉強
  2. Twitterサイトがブロックされている環境でも使える(あらかじめTokenを保存しておく必要あり)
  3. 見た目がシンプルなのであまりTwitterを見てるっぽくない

会社で使うわけじゃないからね!

問題

  • OAuthでTwitterの認証画面にリダイレクトする処理があるのだが、その認証画面がでたり、でなかったりする。でないときは、普通のがTwitter画面になってしまう。

思ったこと

Twitter4jめっちゃ便利。よくできてる。
SAStrutsからみるとSlim3はとてもシンプルで、ある意味物足りない。もちろんそういう思想であることは理解してるけど。
DataStoreはTokenの保存にしか使ってないので、まだ使いこなせてない。

さて、次は何するか。