Twitter 上でのログイン込みで OAuth 認証をを、
Play Framework で Twitter4J を使って試してみる。
せっかく Play を 2.1.1 に上げたところなので、
Play 2.1 の新機能である Filter 機能を使ってみよう。
アプリにアクセスすると Twitter の認証画面が出て、
認証すると Tweet するような感じで作ってみる。
ページ
▼
2013年6月23日日曜日
2013年6月22日土曜日
[Play] Play 2.0.3 から Play 2.1.1 へバージョンアップ
最近 これまで使っていた Play 2.0.3 のバージョンを変えていなかったので、
Play 2.1.1 にバージョンアップしたらいろいろ動かなくなった。
そもそもコンパイルが通らない。
いくつか手を入れないといけなかったのでメモ。
そもそもコンパイルが通らない。
[warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: UNRESOLVED DEPENDENCIES :: [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] :: play#sbt-plugin;2.0.3: not found [warn] :::::::::::::::::::::::::::::::::::::::::::::: [warn] [warn] Note: Some unresolved dependencies have extra attributes. Check that these dependencies exist with the requested attributes. [warn] play:sbt-plugin:2.0.3 (sbtVersion=0.12, scalaVersion=2.9.2) [warn] sbt.ResolveException: unresolved dependency: play#sbt-plugin;2.0.3: not found
いくつか手を入れないといけなかったのでメモ。
- Play Framework の Migration Guide
-
Play! 2.0から2.1にアップデート - k4200’s notes and thoughts
アップデート作業について記載されている。今回はここにお世話になりました。
2013年6月16日日曜日
[Play] Play Framework のセッション
Play Framework には Tomcat のような HTTP セッションがない。
Play でのセッションは Cookie として実現されている。
Play でセッションを使う場合にはこのようなコードになる。
もしくは、Option.getOrElse を使って、
Play でのセッションは Cookie として実現されている。
Play でセッションを使う場合にはこのようなコードになる。
package controllers import play.api._ import play.api.mvc._ import play.api.mvc.RequestHeader object Application extends Controller { def index = Action.apply { request => val currentVal : String = request.session.get("hoge") match { case Some(x) => x; case None => ""; } Ok("hoge = " + currentVal).withSession( request.session + ("hoge" -> "hogege")); } }
request.session.get
は Option を返すので、
パターンマッチで Some
か None
かを判定して、Some
から値を取り出す必要がある。もしくは、Option.getOrElse を使って、
... val currentVal : String = request.session.get("hoge").getOrElse(""); ...とする。こっちの方が簡単でいい。
2013年6月15日土曜日
[Play] Play の Welcome Application
Play Framework 2.0.3 で 「play new XXX」で simple Scala application を作成したときに生成される Application.scala は 以下のようになっている。
ここで、Application#index メソッドの返り値は、
何が起きているのか分かりずらいので少し中を見てみることにしよう。
package controllers import play.api._ import play.api.mvc._ object Application extends Controller { def index = Action { Ok(views.html.index("Your new application is ready.")) } }
ここで、Application#index メソッドの返り値は、
play.api.mvc.Action[play.api.mvc.AnyContent]になっている。
何が起きているのか分かりずらいので少し中を見てみることにしよう。
2013年6月10日月曜日
Twitter4J の OAuth 認証を使ってみる
OAuth を調べてみようとしてとりあえず OAuth 認証をサポートしている Twitter の Java 用ライブラリの Twitter4J を使ってみた。
OAuth の基本的な使い方
OAuth の基本的な使い方
- 事前のアプリケーション(Consumer)用に サービスプロバイダにアプリケーションを登録して、 アプリケーション用の Consumer Key と Consumer Secret を入手する。
- アプリケーションはサービスプロバイダにアクセスして認証用の RequestTokenを入手する。
- ResuestToken を引数に Twitter の認証画面を表示する。
- RequestToken が認証されたら AccessToken を取得する。
- AccessToken を使用して サービスプロバイダの機能を呼び出す。
2013年6月9日日曜日
2013年6月3日月曜日
[どうぶつしょうぎ] 完全解析ツールのバグについて
以前、東京大学情報基盤センターの田中先生による「どうぶつしょうぎ完全解析ツール」をUbuntu環境で使うとエラーになる件について環境依存かもしれないと書いたのだが、
ちゃんと調べてみたら単なるバグだったことが分かった。
環境によって動いたり動かなかったりしたのはたまたまの模様。
環境によって動いたり動かなかったりしたのはたまたまの模様。
- 「どうぶつしょうぎ」の完全解析 (田中先生のサイト)
- [どうぶつしょうぎ] 完全解析ツール on Ubuntu