tweepyでOAuth認証

これでいいのかいまいち自信が持てないけどメモ。
よくあるtwitterアプリ認証の画面のやつ。

事前にTwitter Deverloper Portalでcallback先などを指定しておく。

import tweepy

# Twitter Deverloper Portalで取得
ak = 'xxx'
aks = 'xxx'
bt = 'xxx'

## 今回は自動取得のためaccess tokenは不要
#at = 'xxx'
#ats = 'xxx'

callback_url = 'callback url'
# authenticate_url = 'https://api.twitter.com/oauth/authenticate'


# OAuth認証(token取得)
oauth1_user_handler = tweepy.OAuth1UserHandler(ak, aks, callback_url)
redirect_url = oauth1_user_handler.get_authorization_url(signin_with_twitter=True)
print(redirect_url)

出力されるurlを開いてoauth_verifierの値を指定

access_token, access_token_secret = oauth1_user_handler.get_access_token(
 'oauth_verifier params'
)

# oauth_verifierで自動取得される
at = access_token
ats = access_token_secret

# 認証したアカウントでツイートされる
client = tweepy.Client(bt, ak, aks, at, ats)
client.create_tweet(text='テスト')

参考
Tweepy Documentation - Authentication