Google App Engine上でGroovyとTwitterを動かす為のセットアップガイ
Google App Engine上でTwitterをGroovyで動かす情報。
(bot作ろう会 Groovy分科会は、会員絶賛募集中です。)
必要なファイルは下記zipにまとめてあります。
http://textcode.vs.land.to/GROOVY/TwitterBotGroovy1.zip
まず、Java環境でのHello Worldまでは完了しているものとします。
■ Twitter4j と Groovyのjarの配備
以下の二つのjarを、以下の位置に配置します。
war/WEB-INF/lib に
groovy-all-1.6.3.jar
twitter4j-1.0.4.jar
のふたつのjarを追加します。ここwar以下のファイルはserverに実際にdeployされます、
これによりこれらのjarはサーバにも送られます。
置き場所は、例えば、
c:\workspace\GroovyBotTemplate1\war\WEB-INF\lib
とかになりまか。
eclipseの該当ディレクトリに直接ファイルを置いて、
プロジェクトの右クリック -> Refresh
で見えるようになります。
■Groovy ファイル置き場の用意
WEB-INF の右クリック->New-Folder で groovyフォルダーを作成します
■Groovletの関連づけ
web.xmlにservlet mappingのルールを追加
以下の2定義でワンセットです。
拡張子がGroovyのファイルは GroovyServletとして名前を共通して与え、そのServletは grovy.servlet.GroovyServlet クラスとして扱いますという意味です。
下記定義部分をご自分のweb.xmlに追加してください
<servlet> <servlet-name>GroovyServlet</servlet-name> <servlet-class>groovy.servlet.GroovyServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>GroovyServlet</servlet-name> <url-pattern>*.groovy</url-pattern> </servlet-mapping>
■Groovletの配置
groovyのフォルダーの下に Hello.groovyという名の groovlet (Groovy Servlet)を置きます。
html.html { head { title "Hello" } body { p "Hello from Hello.groovy" } }
ここでプロジェクト動かしてみましょう
■ Hello from Hello.groovy が見えること。
http://localhost:8080/Hello.groovy を指定して Groovletが見えることを確認します。
下記の様なHTMLがGroovletによって作られています。
Groovlet便利でしょ。
<html> <head> <title>Hello</title> </head> <body> <p>Hello from Hello.groovy</p> </body> </html>
■今度はTwitter bot の骨格を作って、現在時刻をつぶやいてみましょう。
下記コード Jihoubot.groovyを groovyフォルダに置きます。これを動かしてみましょう。
import java.text.* import twitter4j.* now = new SimpleDateFormat("yyyy/MM/dd HH:MM:SS").format(new Date()) twit = new Twitter("あなたのuserid","あなたのpassword") twit.update("現在の時刻は ${now} ") html.html { head { title "Jioubot" } body { p "posted ${now} " } }
はい、これでご自分のTwitterアカウントに現在時刻が投稿されたでしょうか。
cookieがセットできないとか、時間が日本時間ではないとか
まだいまいちな部分がありますが、これで投稿までは出来ましたね。
投稿用お試しアカウント coolpoco を見ると、
うまくいった時の実行結果が分かると思います。
http://twitter.com/coolpoco
あと汎用で組み込まなくてはいけないのは
- cronによる自動実行
- 例外処理
- logging
- 外部ファイル参照 (これは使わないこともあるかも)
あたりですね。
とりあえず第一回での作業内容としては、このあたりでよいと思います。
Groovyがいい感じだということがおわかりいただけたと思います。
■ BOTTUKU の favicon.ico (もはや公式アイコン?) も入れておきました。
これはお好みでwarの直下のindex.htmlと同列に配置して使いますが、これはお好みです。