前提:Consumer KeyとConsumer Secretは取得済みであること
ユーザー認証用URLを出力
認証に関するチュートリアル — tweepy 3.6.0 ドキュメント
import tweepy # Consumer KeyとConsumer Secretを引数に指定 auth = tweepy.OAuthHandler("CONSUMER_KEY", "CONSUMER_SECRET") try: redirect_url = auth.get_authorization_url() # リダイレクトURLを出力 print('redirect_url') print(redirect_url) # リクエストトークンを出力 print('request_token') print(auth.request_token) except tweepy.TweepError: print('Error! Failed to get request token.')
出力例は以下の通り
redirect_url https://api.twitter.com/oauth/authorize?oauth_token=xxxxxxxxxxxxxxxxxxxxxxxxxxx request_token {'oauth_token': 'xxxxxxxxxxxxxxxxxxxxxxxxxxx', 'oauth_token_secret': 'yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy', 'oauth_callback_confirmed': 'true'}
Webブラウザで表示して承認
認証させたいTwitterユーザーでログインしているWebブラウザから、redirect_urlで出力された URL にアクセスする
アプリを承認するボタンをクリックすると、7桁の数字が表示される(=VERIFIER)
アクセストークンを取得
import tweepy # Consumer KeyとConsumer Secretを引数に指定 auth = tweepy.OAuthHandler("CONSUMER_KEY", "CONSUMER_SECRET") # リダイレクトURLに含まれる oauth_token パラメータ値(または request_token 辞書の oauth_token 値) OAUTH_TOKEN = 'xxxxxxxxxxxxxxxxxxxxxxxxxxx' # Webブラウザに表示された7桁の数字を指定 VERIFIER = '1234567' auth.request_token = { 'oauth_token' : OAUTH_TOKEN, 'oauth_token_secret' : VERIFIER } try: auth.get_access_token(VERIFIER) print('access_token') print(auth.access_token) print('access_token_secret') print(auth.access_token_secret) except tweepy.TweepError: print('Error! Failed to get request token.')
出力例は以下の通り
access_token 12345678-zzzzzzzzzzzzzzzz access_token_secret sssssssssssssssssssssssss
Twitter API v2 でツイート
前提: Consumer Key, Consumer Secretは取得済み
アクセストークン、アクセストークンシークレットは直前で取得したものを使用(いまのところ無期限使用可能)
Client — tweepy 4.14.0 documentation
import tweepy # Twitterオブジェクトの生成 api = tweepy.Client( consumer_key="CONSUMER_KEY", consumer_secret="CONSUMER_SECRET", access_token="ACCESS_TOKEN", access_token_secret="ACCESS_TOKEN_SECRET" ) # API 呼び出し api.create_tweet(text="Tweetするテキスト文字列")
Twitter API v2 で画像付きツイート
画像(media)のアップロードはいまのところ v1 経由で行い、取得できた media_id を v2 の create_tweet() にパラメータで渡すみたい。