🦜

Twitter APIの無償枠をtweepyからなんとか使う

2023/04/30に公開

何が変わったのか

検索とか色々全滅した
インスタとか顔本は投稿用のAPIないし今までのTwitterが異常だったのかもしれない

ただツイートするだけの方法

準備

pip install tweepy==4.14.0

認証

設定ファイル

hoge.ini
[hoge]
consumer_key = 
consumer_secret = 
access_key = 
access_secret = 
bearer_token = 

ツイート用のv2エンドポイントに向けての認証

def auth_api_v2(envName):
    config = configparser.ConfigParser(interpolation=None)
    config.read('hoge.ini')
    consumer_key = config.get(envName, 'consumer_key')
    consumer_secret = config.get(envName, 'consumer_secret')
    access_key = config.get(envName, 'access_key')
    access_secret = config.get(envName, 'access_secret')
    bearer_token = config.get(envName, 'bearer_token')
    client = tweepy.Client(bearer_token=bearer_token,
                           consumer_key=consumer_key,
                           consumer_secret=consumer_secret,
                           access_token=access_key,
                           access_token_secret=access_secret)
    return client

ツイート

client = auth_api_v2('hgoe')
post_tweet = client.create_tweet(text="あ")
print(post_tweet)

画像を含める

アップロード用の認証

def auth_api_v1(envName):
    config = configparser.ConfigParser()
    config.read('hoge.ini')
    consumer_key = config.get(envName, 'consumer_key')
    consumer_secret = config.get(envName, 'consumer_secret')
    access_key = config.get(envName, 'access_key')
    access_secret = config.get(envName, 'access_secret')
    auth = tweepy.OAuth1UserHandler(consumer_key, consumer_secret)
    auth.set_access_token(access_key, access_secret)
    api = tweepy.API(auth)
    return api

アップロードと投稿

filepath = './git_logo.png'
api = auth_api_v1('hoge')
media_id = api.media_upload(filepath).media_id_string
print(media_id)

client = auth_api_v2('hoge')
post_tweet = client.create_tweet(text="git logo", media_ids=[media_id])
print(post_tweet)

Discussion