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してもらった. たいした修正じゃないけど,取り込んでもらえるとうれしい.