« 03.22 なーむぅーあーみ だーぁぶーぅつ | ココ | 03.27 SP -革命篇- »

2011年3月26日

GAE/Pyに挑戦そしてつぶやかせた  このエントリーを含むはてなブックマーク 

GAE+Railsで、TwitterにAPIでアクセスしてつぶやかせるという形態を最初は考えていたけれども、どうにもデプロイとプロジェクトの拡張がうまくいかなくて、結局は「Pythonでええっか」とPythonで進めることにしたのでありました。

で、どうしてTwitterにどうしてGAEからアクセスさせようとしたのかというと、震災で物資が余っている所と不足している所の調整が出来るように、不足しているものと余分にあるものを位置情報付き、かつ連絡先明記の状態でツイートさせようとしたんよね。

Railsでツイートをさせたことはあったけど、位置情報を付加させたことはなくて、GPSも使ったことはない。今回の場合は位置情報を取得するのに、当事者以外が代理で入力出来るようにと思って7桁の郵便番号から緯度経度に変換して、それをツイートに埋め込む形にした。

郵便番号から緯度経度情報を取得するには、既にWebAPIがある(XML-RPCサービス - 郵便専門ネット)ので、それを使わせていただくことに。

そしてTwitterAPIを叩くのには、python-twitterを最初は使っていたものの、なぜだかうまく動かない(後ほど、ファイルキャッシュが使えないので動かない、ということを知る)。悩んだ挙句、最終的にTweepyを使って実装した例が見つかった(GoogleAppEngine-pythonを利用して簡単なtwitterbotを作成する(ref. ドナドナごとごと))ので、tweepyにすることに。

Pythonのライブラリは全部プロジェクトの中に入れてしまわないといけないということが最初よく分かっていなかったままeasy_installでライブラリをインストールしてしまったりしてたもんだから、結構ゴチャゴチャになってしまったけど、なんとかツイートさせることはできた。

そして、今回作ったページはガラケーから送受信するようのWebアプリだったので文字コードをSJISにしないといけない…とかいう変な縛りがあって、意外とこれが厄介やった。GAEの中の処理はたいていutf-8で完結できるようなのが今はほとんどやからなぁ…。

ともあれ、Tweepyのソースコードは全部一緒にGAEに上げないといけないことは分かった。

By ただ at 21:20 カテゴリー ; プログラミングとか

« 03.22 なーむぅーあーみ だーぁぶーぅつ | 03月の記事 | 03.27 SP -革命篇- »




トラックバック

このエントリーのトラックバックURL:
http://pinmarch.sakura.ne.jp/mt/mt-tb.cgi/1728