Google App Engine 向け OAuth ライブラリ (ouath.py) を修正 | 忘れたらググればいい

2012年10月20日土曜日

Google App Engine 向け OAuth ライブラリ (ouath.py) を修正

oauth.pyのエラー

Google App EngineでOAuthを使うためのoauth.pyをtwitter botやアプリケーションで使っていたが, 何日か前からアカウント認証に失敗していたようだ.

mikeknapp/AppEngine-OAuth-Library · GitHub

エラーメッセージ

ERROR    2012-10-20 06:06:29,647 _webapp25.py:464] 'id'
Traceback (most recent call last):
  File "/Applications/GoogleAppEngineLauncher.app/Contents/Resources/GoogleAppEngine-default.bundle/Contents/Resources/google_appengine/google/appengine/ext/webapp/_webapp25.py", line 710, in __call__
    handler.get(*groups)
  File "/path/to/src/main.py", line 108, in get
    user_info = client.get_user_info(auth_token,auth_verifier=auth_verifier)
  File "/path/to/src/oauth.py", line 233, in get_user_info
    user_info = self._lookup_user_info(result["token"], result["secret"])
  File "/path/to/src/oauth.py", line 360, in _lookup_user_info
    user_info["id"] = data["id"]
KeyError: 'id'

twitterの古いversionのURLが使えなくなったっぽい

エラーが発生した付近のサーバーからのレスポンスを見ると,{"errors":[{"message":"Sorry, that page does not exist","code":34}]} などが返ってきている. 調べてみると,古いURLが使えなくなったようだ.

メールで Twitter、「Sorry, that page does not exist」対策 (API の URL) - Rubyとか Illustratorとか SFとか折紙とか

というわけで,URLをver.1.1を使うように修正.

chage URL of twitter to use API ver.1.1 · 28b8c7c · fukubaya/AppEngine-OAuth-Library · GitHub

はじめてのpull request

せっかくなので,修正してgithubでpull request出してみた.

changed the URL of API to ver.1.1 by fukubaya · Pull Request #8 · mikeknapp/AppEngine-OAuth-Library · GitHub
commit messageでスペルミスしてるけどもう直せない...

2012.10.23追記

作者さんにmergeしてもらった. たいした修正じゃないけど,取り込んでもらえるとうれしい.