X(旧Twitter)へのポストを自動化できたら、情報発信がグッと楽になりますよね。
でも、APIの取得やPythonコードの実装は難しそう…。そんなあなたも大丈夫!
この記事では、XのAPIの基本的な使い方から、Pythonを使った自動ポストの実装までを説明します。画像付きで分かりやすさを重視しているので、初心者の方も安心してみていってください!
X自動ポストの概要
本記事では、大きく3ステップでX自動ポスト機能を実装します。それぞれのステップで何をしているのか?ここでは簡単に説明します。
- X開発者ポータルへ登録
まず、X開発者ポータルでアカウントを作成します。
※自動ポストするためのXアカウントは事前に作成が必要です。 - XのAPIキーを発行
X開発者ポータルからXのAPIキーを発行します。
XのAPIを利用するには、APIキーを発行し、ソースコードに記載する必要があります。 - サンプルコードの実行
手順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]の順にクリックします。

Jupyter Notebookの環境設定・起動手順については、以下の記事を参照ください。
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}"
本サンプルコードでは、標準外のモジュールをimportします。
あらかじめ、該当のモジュールに対応するパッケージをPython環境にインストールする必要があります。(インストールは、PIPコマンドを使用します。)
※PIPコマンドで該当パッケージをインストール済みの環境では、再インストール不要です。
モジュール | PIPコマンド |
---|---|
tweepy | pip install tweepy |
■パッケージのインストール手順
1. Jupyter NotebookでPIPコマンド用のファイルを新規作成します。(すでに作成済みの場合は、作成済みのPIPコマンド用のファイルを開く)
※PIPコマンドは、1回実行したら基本的に再実行する機会がないため、PIP用のファイルを用意し、PIPコマンドのインストールを管理することを推奨します。
2.以下のコマンドを入力し、[Shift]と[Enter]キーを同時に押下します。
!pip install tweepy
3-4.試しにサンプルコードを実行してみます。コード入力欄にカーソルを合わせて、[Shift]と[Enter]キーを同時に押下します。

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

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

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