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・ID・Secretの取得・確認手順【2023年4月版】
本記事では、Twitter API有料化公式アナウンス後である2023年4月現在のTwitterAPIの利用に必要なAPI KeyおよびAPI Key Secret(OAuth1.0a利用の場合)の取得・確認方法およびClient IDおよびClient Secretの取得・確認方法(OAuth2.0利用の場合)につい...

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

Twitter API有料(Basic)・無料プラン利用開始手順※2023年3月最新
Twitter APIの有料化と新たなプラン体系が2023年3月末に公式アナウンスされました。Twitter API利用開始にあたっての手順が変更されておりますので、有料プラン(Basic)、および無料プラン(Free)それぞれの利用開始手順の方法を本記事では紹介いたします。

【Python】Tweepyを使用して、Twitterからツイート取得、自動投稿(画像付き) – V1.1、V2 両方対応 –|Zero-Cheese
TwitterApiを利用して、ツイートの収集方法、投稿方法を紹介しました。tweepyのインストール方法から、使用方法まで、紹介しております。 (TwitterAPI V1.1、V2 両方に対応)

設定を終えて

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

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

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

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

コメント

タイトルとURLをコピーしました