背景
Twitter社がAPI利用は有料課金ユーザーに限定するというような動きもあり、2023年5月中旬から今まで使っていたPythonを利用したTwitter自動投稿スクリプトが動作しなくなっていました。ただ、無料ユーザーでも一定程度のAPI接続が可能であるという事や技術的な仕様も安定してきたようなので、以前のコードを修正したりしましたので、自分への備忘録として残すようにいたします。
前提条件
無料プランの概要と、今回修正したPythonによるTwitterへの自動ツイートの関する情報を共有します。有料プランなどについて参考程度としておりますので、必要な方は個別に調査や情報収集してください。
Twitter APIの無料プラン(Freeプラン)でできること
無料で利用できるFreeプランは、「ツイート投稿」および「ツイートの削除」のみが行えるプランです。
・月間ツイート投稿1,500件
・AppのID数:1件まで
・Twitterログイン機能の利用
・ツイートの削除も可能
プログラミング言語での操作やBotでの自動投稿のみであれば、こちらのプランの利用が現実的だと思います。
有料プラン(Basicプラン)でできることは参考レベルですが、以下のようになります。
・1ユーザー月間3,000月間ツイート投稿3,000件 ※Appの場合月間50,000件
・月間10,000件のツイート取得
・AppのID数:2件まで
・Twitterログイン機能の利用
・ツイートの削除も可能
詳細は以下のようになります。
Twitter Developer Platform, Twitter API
https://worth2know.com/wp-content/uploads/2023/06/image-1-682×1024.png有料の物は一番安いものでも月に100ドル(1ドル140円換算で1万4000円)のようです。
実際のPythonのコード
以下のサイトを参考にさせていただきましたが、v2 APIでは画像つきツイートを投稿することができないので、v1とv2混ぜる必要があるようです。ですので、以下のコードを使用してツイートすることになります。
import tweepy
#Twitter APIを使用するためのConsumerキー、アクセストークン設定
api_key = 'XXXXXXXXXXXXXXXX'
api_key_secret = 'XXXXXXXXXXXXXXXX'
access_token = 'XXXXXXXXXXXXXXXX'
access_token_secret = 'XXXXXXXXXXXXXXXX'
client = tweepy.Client(
consumer_key=api_key,
consumer_secret=api_key_secret,
access_token=access_token,
access_token_secret=access_token_secret
)
auth = tweepy.OAuth1UserHandler(
api_key, api_key_secret, access_token, access_token_secret
)
api = tweepy.API(auth)
image_path = './images/tweet.png'
message = 'test tweet'
media = api.media_upload(filename=image_path)
client.create_tweet(text=message, media_ids=[media.media_id])
実際に私の環境では上記コードでツイートできました。
貴重な情報ありがとうございました。
API Key、ID、Secretの発行手順について
すでにTwitter Developer Portalにアクセスできている方向けの手順となりますが、以下のサイトを参考にさせていただきました。
そのほか、参考にさせていただいた記事は以下になります。
設定を終えて
以前と比べてユーザーが無料でAPIでできる事は大幅に減りました。ただ、ある程度余地は残してくれたようなので、その範囲内でできることを探したいですね。
読む人の参考になれば幸いです。
—
課題解決関係に関する記事をご紹介します。
コメント