webアプリの認証→コールバックURLでごにょごにょするのに苦労したのでメモ
とりあえずTwitter Developersでアプリケーション登録
"Callback URL"はttp://hogehoge/oauth/callback にした
アプリケーション認証に飛ばす部分
@app.route('/authorize') def authorize(): url = auth.get_authorization_url() url = re.sub( 'authorize','authenticate', url ) return redirect( url )↑これの前にさっき登録したConsumer_keyとConsumer_secretを使って
auth = tweepy.OAuthHandler( ckey, csecret )しておく。
"ttps://api.twitter.com/oauth/authenticate"にすると、未ログイン状態の場合は"authorize"と同じ動き
ログイン状態で以前取得したアクセストークンが有効であれば、認証画面を出さず、即座にoauth_verifierを返すらしいです。
コールバック
@app.route('/oauth/callback', methods=['GET']) def callback(): token = request.values.get('oauth_token', '') verifier = request.values.get('oauth_verifier', '') try: auth.get_access_token( verifier ) except tweepy.TweepError: return 'Error! Failed to get access token.' return "Access token : %s<br />Access token secret : $s" % ( auth.access_token.key, auth.access_token.secret )GETの引数?みたいなのは
request.values.get('oauth_token', '')で取り出せるらしいです。
POSTは
request.form['name']
ぽい
そんな感じでした。
参考
Authentication Tutorial — tweepy v1.4 documentation
殆どこれのコピペで行けました。
PythonでWebアプリ開発入門のススメ Flask/MongoDB - mizchi log
flaskその他もろもろの使い方はここ見た