🐦

Twitter API(tweepy)を使用して、画像付きツイートを投稿する

2023/04/04に公開

2023年4月4日現在、v2 APIでは画像付きツイートを投稿することができません。

参考)
Post Tweet/Media Upload in v2? - Twitter API / Twitter API v2 - Twitter Developers

そのため、画像付きツイートを投稿するためには、以下のようにv1 APIとv2 APIを組み合わせる必要があります。
tweepy.APIでv1 APIを使用し、tweepy.Clientでv2 APIを使用しているようです。

import tweepy

# Twitter API credentials
consumer_key = "xxxxxxxxxxxxxxxxxxxxxxxxx"
consumer_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
access_token = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
access_token_secret = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"

# Authenticate Twitter API
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)

# Create API object
api = tweepy.API(auth)
client = tweepy.Client(
    consumer_key=consumer_key,
    consumer_secret=consumer_secret,
    access_token=access_token,
    access_token_secret=access_token_secret)

# Attach image and message to tweet
image_path = './sample.jpg'  # Specify image file path
message = 'sample message'  # Specify message

media = api.media_upload(filename=image_path)
client.create_tweet(text=message, media_ids=[media.media_id])
GitHubで編集を提案

Discussion