ライブラリとしての使い方
- app.yamlにハンドラ登録(サンプルソース参照)。
- gae_twitoauth.yamlのConsumer key/Secretを、自分でTwitter Application Managementより取得したものに書換え。
必要に応じて、ConsumerPaths及びApplicationNameも自アプリに併せて設定。
- 自分のアプリからは"from GAE_TwitOAuth import GAE_TwitOAuth"として、GAE_TwitOAuthクラスが使えるようにする。
- 未認証時は
twitter=GAE_TwitOAuth() # 引数なし
login_url = twitter.get_login_url(callback_url=u"http://...") # callback_url:認証後にコールバックされるURLを指定
のようにして、ログイン用のURLを作成し、ユーザに示してクリックしてもらえるようにしておく。
- 認証後に上記で指定したURLにコールバックされたとき、認証成功していると(access token取得出来ていると)、user_idとscreen_nameがクエリとしてくっついてくるので、アプリ側でこれをCookieなどで保存しておく。*1
- 認証後は、GAE_TwitOAuth()の引数にuser_idまたはscreen_nameを指定することで(twitter=GAE_TwitOAuth(screen_name='...')またはtwitter=GAE_TwitOAuth(user_id='...'))、作成されたオブジェクト(twitter)のメソッドを使用し、Twitterに投稿等ができるようになる。
例:(json,status_code) = twitter.update_status(status) # つぶやき投稿
戻り値はjson(TwitterからのResponseをsimplejson()でdict化処理したもの)とstatus_code(これはそのままTwitterから返されたステータスコード)。
どんなメソッドが使えるかは……gae_twitoauth.pyのclass GAE_TwitOAuthを参照して下さい*2。
- 認証情報の削除は、
logout_url = twitter.get_logout_url(callback_url=u"http://...") # callback_url:認証情報廃棄後にコールバックされるURLを指定
のようにして得られたログアウト用URLを作製し、ユーザに示してクリックしてもらえるようにしておく。
- 認証情報削除後は、コールバック処理(callback_urlで指定したURLでの処理)内にて、(必要に応じて)アプリ側で管理しているセッション情報を廃棄すること。