Pythonを使ってTwitterに自動投稿。APIの設定など。(Twitter API v2とAPI v1.1の併用)

スポンサーリンク
Python

背景

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])

実際に私の環境では上記コードでツイートできました。

貴重な情報ありがとうございました。

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

API Key、ID、Secretの発行手順について

すでにTwitter Developer Portalにアクセスできている方向けの手順となりますが、以下のサイトを参考にさせていただきました。

Twitter APIのKeyやSecretの取得・確認手順※2023年10月最新
本記事では、Twitter API有料化公式アナウンス後である2023年9月現在のAPIの利用に必要なAPI KeyおよびAPI Key SecretやClient IDおよびClient Secretの取得・確認方法について詳しく解説していきます。また、Twitter APIとは?などの概要や、TwitterAPIの...

そのほか、参考にさせていただいた記事は以下になります。

Twitter API有料(Basic)、無料プラン利用開始手順※2023年9月最新
Twitter APIの有料化と新たなプラン体系が2023年3月末に公式アナウンスされました。Twitter API利用開始にあたっての手順が変更されておりますので、2023年9月現在の有料プラン(Basic)、および無料プラン(Free)それぞれの利用開始手順の方法を本記事では紹介いたします。
【Python】Tweepyを使用して、Twitterからツイート取得、自動投稿(画像付き) – V1.1、V2 両方対応 –|Zero-Cheese
TwitterApiを利用して、ツイートの収集方法、投稿方法を紹介しました。tweepyのインストール方法から、使用方法まで、紹介しております。(TwitterAPI V1.1、V2 両方に対応)

設定を終えて

以前と比べてユーザーが無料でAPIでできる事は大幅に減りました。ただ、ある程度余地は残してくれたようなので、その範囲内でできることを探したいですね。

読む人の参考になれば幸いです。

課題解決関係に関する記事をご紹介します。

エクセルでサブスクタイプの契約管理!契約期間を塗りつぶして可視化したり、月次契約金額の集計で予実管理!
自動化・効率化でなにができるのか!Google FinanceやYahoo Financeからデータ取得して年初来パフォーマンスや週次騰落率のファクターチェック
自動化・効率化できます!金融向けGoogle スプレッドシートのすぐ使える簡単な使い方4選!(Google Finance,セントルイス連銀,アメリカ合衆国財務省,スクレイピング)【コピペで動く!】
対話型チャットAI「ChatGPT」が人気なので、アカウントの作成とか難しいことが分からない人向けにとりあえずBlogに埋め込んでみた!
IB証券(インタラクティブ・ブローカーズ証券)のAPIを利用してVIXオプションの各限月の特定の権利行使価格で、CALL,PUTで日足ベース引け値のヒストリカルデータ出力するJupyter notebookファイルの提供やメンテナンス・補修サービス、Windows10での環境構築をさせていただきました。
Pythonを使ってTwitterに自動投稿。APIの設定など。(Twitter API v2とAPI v1.1の併用)
OpenAIのWhisperを使ってYouTube動画から文字起こしをしよう!モデルの精度を確認!StreamlitでWebアプリ化!
ConoHa WINGレンタルサーバーでPython! Webアプリcgiを動かす手順を紹介!3つの例あり【コピペで動く!】
最近はやりの音声メディアを手元にファイルとして保存するには?Windows環境で音声ファイルの作成方法を紹介します。
無料・新規費用をかけずにマインクラフトのゲーム動画投稿する方法、GPUをマインクラフトに割り当てて負荷分散の方法を紹介!(Windows10・マイクラ)
IB証券(インタラクティブ・ブローカーズ証券)のAPIを利用して個別株、ETF、先物のヒストリカルデータの出力できるJupyter notebookファイルの提供
Google Data Portalを使ってWeb上のオープンデータを使って簡単に情報を可視化しようという話
Amazon Echo Show 5 (Alexa:アレクサ)を小学生の子供の英語の勉強で活用しよう!アレクサで小学生の英語スピーキングレッスン!(質問例あり)
Conoha WINGでスクレイピング!Pythonの自動化・効率化をして注目商品の価格を週一回自動で取得する【コピペで動く!】
Google Search ConsoleとPythonの連携方法【コピペで動く!】

コメント