Google AppEngineのPython2.7移行の対応完了

長らく放置していたGoogle AppEngine用のPython製ライブラリですが、いよいよGoogleからPython2.5のプロジェクトはAppEngineから強制削除するよとの通知が来たので、重い腰を上げてPython2.7対応しました。(大した変更ではないですが。)

AppEngine-Twitter

AppEngine-OAuth

AppEngine-BaseHandler

 

また、ついでにGithubにもあげてみました。(READMEもまともに書いてないですが…)

0-oo/appengine-twitter: Twitter API wrapper for applications on Google App Engine

 

次はPython3に移行しろと言われたら、そこまではできないかもですね。

AppEngine-TwitterとRT_reportをTwitter API 1.1に対応させました

Twitterが2013/3/5をもってTwitter Search APIを廃止し、OAuthによる認証が必要なTwitter REST API 1.1に統合したことへの対応として、AppEngine-Twitterの検索機能で使うAPIをSearch APIからREST API 1.1に変更しました。(でもまだいまだにSearch APIも生きてる気がするけど…)
バージョン0.3.0です。

もともとsearch以外のほとんどの操作はOAuthを前提としていたので、変わったのは主にsearchのとこだけです。

また、それに合わせてRT_reportも対応させました。ギリギリ間に合ったようです。
Rate LimitがIP単位からユーザー単位になったおかげで、たくさんのユーザーが同一IPに同居してすぐにLimitに達してしまうため事実上検索等のAPIは使えなかったGoogle App EngineからのTwitter APIの利用ができるようになったのは喜ばしいことです。

AppEngine-Twitterバージョンアップ(0.2.1)

AppEngine-Twitterのバージョンが0.2.1に上がりました。

主な変更点は下記のとおりです。

  • TwitterのOAuth用のURLのドメインが間違っていたのを修正
  • Twitter APIのBasic認証廃止にともない不要になっていたパスワードを削除。またユーザー名(screen name)もプライベートっぽい扱いに変更
  • Twitter Search ProxyのようなTwitter Search APIの制限回避策を使いやすいようにsearch()の内部処理を書き直した

 

RT_reportのつぶやきを非公式RTから公式のReTweetに変更

RT_reportのつぶやきを、非公式RTから公式のReTweetに変更しました。
以前から公式RTにしたいなとは思ってたのですが、Google App EngineとTwitter Search APIの組み合わせによる制約のため諦めていました。
しかし今日になってふと思いついたので、やってみたらうまくいきました。

これにともない、AppEngine-Twitterもバージョン0.2.0にバージョンアップさせました。
変更点はReTweetができるようになったことと、Twitter APIのアクセス制限時のレスポンスのHTTP Status Codeが503から420に変わっていたことの対応です。(ずいぶん前に変わっていたみたいです。)

Twitterボットのnorikae_mapで車・歩きでのルート検索

乗り換え案内・ルート検索をしてくれるTwitter Botの@norikae_mapで、車や歩きでのルート検索をできるようにしました。

やり方は、出発地点・目的地の後に、「車」または「歩き」と書くだけです。移動方法を指定しないと、電車での乗り換え案内をリプライします。

具体例はこちらを参考にしてください。

ちなみに台湾から中国本土へ歩こうとすると( @norikae_map 八里郷領港大道 福州平潭県 歩き )、泳いで渡ることになるそうです...

AppEngine-Twitter / AppEngine-OAuthの動作サンプルに「乗換案内Bot」を追加

Google App Engine(Python)用ライブラリのAppEngine-Twitter / AppEngine-OAuthの動作サンプルに、新しいTwitter Botを追加した。

その名も乗換(道順)案内Bot

出発地点と目的地を告げると、Googleマップでその経路を調べてURLをリプライしてくれるBotだ。デフォルトは電車・飛行機での乗換案内だが、Googleマップに行ってしまえば車や徒歩でのルート案内も表示できる。

おまけにiPhone/iPadでも使えると思う。(未検証ですが。)

使い方はここを参照。

短縮URLにはBit.lyを使ったが、放っておいてもt.coで短縮してくれるんだっけ?まあいいや。

久しぶりのPythonでいろいろ忘れてた。嫌いではないけどなあ、Python。

AppEngine-Twitterのサンプルに@who_is_nearを追加した

Google App Engineで手軽にTwitterアプリを作成!(OAuthにも対応!) – AppEngine-Twitterの動作サンプルとして、@RT_reportに続いて@who_is_nearを作った。

@who_is_nearは、「@who_is_near 六本木」のように@リプライで地名を渡すと、その近くにいる(ことになっている?)Twitterユーザーの名前を@リプライで知らせてくれるBot。

ジオコーディングにはGoogle Maps APIを使っている。

ちょっと緩めのインターバルで動かしているので、返事は気長に待ってくださいね。

TwitterでたくさんRTされたPOSTをRTするbot “RT_report”を作った

AppEngine-TwitterAppEngine-OAuthのデモとして、たくさんRTされたつぶやきを定期的にPOSTするbot、RT_reportを作った。

また、その副産物として、Today’s RT Rankingも作った。

RTは日本ではまだそれほど普及していないので、洗練されすぎてもいないし、グダグダの方に偏ってもいないので見ていて意外に面白い。賞味期限はもう少しかな?

Twitterのおともによろしければどうぞ。

Google App EngineでOAuthを使ってTwitter APIを扱えるライブラリを公開した

本体はこれ。使い方等も下記リンク先を参照。

Google App Engineで手軽にTwitterアプリを作成!(OAuthにも対応!) – AppEngine-Twitter [ゼロと無限の間に]

OAuth関連の部分は別のclassに抜き出した。

Google App Engineで手軽にOAuthアプリを作成!(Twitterとか!) – AppEngine-OAuth [ゼロと無限の間に]

ついでにGoogle App EngineのRequestHandlerを拡張+ちょっと便利な関数群 – AppEngine-BaseHandler [ゼロと無限の間に]もどうぞ。

OAuthをったサービスを作りたいなら、別途Twitterに申請が必要。(簡単なフォームに書き込むだけだけど。)

それにしてもGoogle App Engine Python版の開発しやすさは素晴らしい。SDKでひととおりできてしまう。軽いし。RDBMSが使えないという点さえなければ…