PythonでX自動ポスト!API設定からサンプルコードまで解説

IT

X(旧Twitter)へのポストを自動化できたら、情報発信がグッと楽になりますよね。
でも、APIの取得やPythonコードの実装は難しそう…。そんなあなたも大丈夫!

この記事では、XのAPIの基本的な使い方から、Pythonを使った自動ポストの実装までを説明します。画像付きで分かりやすさを重視しているので、初心者の方も安心してみていってください!

  • 本記事は、XのAPIを活用するための技術的な情報を提供するものであり、迷惑行為やスパム行為を助長するものではありません。
  • XのAPIを利用する際は、必ずXのAPI利用規約および開発者ポリシーを遵守してください。
  • APIの不正利用は、アカウントの凍結や法的責任を問われる可能性があります。
  • 本記事の内容を実装する際は、自己責任において行ってください。

X自動ポストの概要

本記事では、大きく3ステップでX自動ポスト機能を実装します。それぞれのステップで何をしているのか?ここでは簡単に説明します。

  1. X開発者ポータルへ登録
    まず、X開発者ポータルでアカウントを作成します。
    ※自動ポストするためのXアカウントは事前に作成が必要です。
  2. XのAPIキーを発行
    X開発者ポータルからXのAPIキーを発行します。
    XのAPIを利用するには、APIキーを発行し、ソースコードに記載する必要があります。
  3. サンプルコードの実行
    手順1.2でXのAPIを利用できる環境が整ったので、実際にプログラムを動かしてみるステップです。ここまでできれば、Xの自動ポストができます。

※前提としてOSは、Windows11で進めます。Macをご利用の方は、本記事ですすめる画面と異なることがあるので、ご注意ください。

実際に環境構築してみよう

それでは、ここから3ステップでX自動ポストを実装していきます。

X開発者ポータルへ登録

1-1.X開発者の公式サイトへアクセスします。

1-2.X開発者の公式サイト右上の[ログイン]をクリックします。

1-3.Xログイン画面が表示されるので、自動ポストのために利用するXアカウントでサインインします。

1-4.Xアカウントでサインイン後、もう一度、X開発者の公式サイトへアクセスします。
画面右上にログインしたXアカウントのプロフィール画像が表示されます。
確認後、[開発者ポータル]をクリックします。

1-5.[Ready to build on X?]という旨のメッセージ画面が表示されます。すでに、開発者アカウントを作成している場合は、X開発者ポータル画面が表示されるので、次章に進んでください。

画面を下へスクロールし、[Sign up for Free Account]をクリックします。

1-6.ポリシーやAPI利用用途を登録する画面が表示されます。
以下を参考に情報を入力後、[Submit]をクリックします。
※本手順でX開発者アカウント登録完了です。

  • Describe all of your use cases of Twitter’s data and API
    APIの利用用途を英語で入力します。生成AI等を利用して入力するテキストを作成するか、以下のテキストを貼り付けてください。
I am planning to create an automated bot for my Twitter account using the Twitter API. The primary purpose of this bot is to schedule and post helpful content for other users at specific times each day. By leveraging the vast amount of data available on Twitter and the capabilities of the Twitter API, this bot will curate and share valuable information, insights, or updates that cater to the interests and needs of my followers. This automation will not only ensure consistent engagement with my audience but also significantly improve the efficiency of my daily tasks. By automating this aspect of my social media strategy, I can dedicate more time to other important tasks while maintaining a strong online presence. Through this endeavor, I aim to strike a balance between providing value to my followers and optimizing my workflow.
  • 3つのチェックボックスをすべて選択します。

XのAPIキーを発行

2-1.X開発者ポータル画面のダッシュボードが表示されます。画面下のPROJECT APPエリアの[歯車]アイコンをクリックします。

2-2.[Settings]タブをクリックします。

2-3.画面を下スクロールし、User authentication settingsエリアの[Set up]をクリックします。

2-4.以下の画面を参考に情報を入力します。

  • App permissions
    発行するAPIに与える権限を指定します。必要最小限の権限にすることが推奨されます。
    今回は、[Read and write]を選択します。
  • Type of App
    利用するアプリの種別を選択します。
    今回は、[Web App,Automated App or Bot]を選択します。
  • App info – Callback URI / Redirect URL
    以下のURLを入力します。
  • App info – Website URL
    以下のURLを入力します。
https://twitter.com/

画面を下までスクロールし、[Save]をクリックします。

2-5.確認画面が表示されるので、[Yes]をクリックします。

2-6.[Client ID]と[Client Secret]が発行されます。発行された情報を[Copy]し、テキストエディタ(メモ帳など)に控えておきます。その後、[Done]をクリックします。

2-7.確認画面で[Client Secret]が表示されます。前の手順で控えている場合は、[Copy]不要です。[Yes, I saved it]をクリックします。

2-8.X開発者ポータル画面の[Projects & Apps]メニューから[Key and tokens]タブを選択し、Access Token and Secretエリアの[Generate]をクリックします。

2-9.[Access Token]と[Access Token Sercret]が発行されます。発行された情報を[Copy]し、テキストエディタ(メモ帳など)に控えておきます。その後、[Yes, I saved them]をクリックします。

2-10.X開発者ポータル画面の[Projects & Apps]メニューから[Key and tokens]タブを選択し、Consumer Keysエリアの[Regenerate]をクリックします。

2-11.確認画面が表示されるので、[Yes, regenerate]をクリックします。

2-12.[API Key]と[API Key Sercret]が発行されます。発行された情報を[Copy]し、テキストエディタ(メモ帳など)に控えておきます。その後、[Yes, I saved them]をクリックします。

サンプルコードの実行

3-1.Jupyter Notebookを起動し、任意の階層で[New]>[Python3]の順にクリックします。

3-2.ファイルが作成されるので、ファイル名を任意の名前に変更します。
(例 00_Xpost_Sample.ipynb)

3-3.以下のサンプルコードを貼り付けます。

# --------------------------------------------------
#必要なライブラリをインポート
# --------------------------------------------------
import tweepy
# --------------------------------------------------
#Xの認証処理
# --------------------------------------------------
# APIキーの初期設定
consumer_key = "XXXXXX"
consumer_secret = "XXXXXX"
access_token = "XXXXXX"
access_token_secret = "XXXXXX"
# Xの認証
twitter = tweepy.Client(
    consumer_key = consumer_key,
    consumer_secret = consumer_secret,
    access_token = access_token,
    access_token_secret = access_token_secret,
)
# --------------------------------------------------
#Xで実施する処理(ポストの投稿)
# --------------------------------------------------
# Xに投稿する内容
text = "Hello X!!!"
# Xで投稿する
try:
    twitter.create_tweet(text = text)
except tweepy.TweepyException as e:
    print(f"エラーが発生しました:{e}")
補足

コードの9~12行目は、ステップ2で発行したAPI情報を入力します。
※「”(ダブルクオート)」で囲みます。

# APIキーの初期設定
consumer_key = "{2-12で控えたAPI Key}"
consumer_secret = "{2-12で控えたAPI Key Secret}"
access_token = "{2-9で控えたAccess Token}"
access_token_secret = "{2-9で控えたAccess Token Secret}"
PIPコマンドについて
!pip install tweepy

3-4.試しにサンプルコードを実行してみます。コード入力欄にカーソルを合わせて、[Shift]と[Enter]キーを同時に押下します。

サンプルコマンドを実行後、Xアカウントを確認します。
実行したテキストがポストされていれば成功です!!

Xの自動ポストを実装することができましたが、Pythonの実行は手動で実施しました。
Pythonの実行も自動化したい場合は、以下の記事を参考にしてみてください!

Kazu
Kazu

おつかれさまでした!以上でX自動ポストの実装がすべて完了しました。
APIって本当に便利ですよね。Xだけでなく、他のSaaSサービスのAPIも解説できればと考えています。当ブログでは、ITに関わるTipsやガジェットのレビュー、資格受験記などを掲載してます。他にご興味のある記事がありましたら、ご一読いただけますと幸いです!

コメント

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