この記事では、PythonからXへ自動投稿するために必要なAPIキーを取得する手順を、初めての人向けに整理します。
今回必要になるのは、次の4つです。
| 取得するもの | 役割 | .envで使う名前 |
|---|---|---|
| API Key | アプリを識別するキー | X_API_KEY |
| API Key Secret | API Keyとセットで使う秘密キー | X_API_SECRET |
| Access Token | 自分のXアカウントとして操作するためのトークン | X_ACCESS_TOKEN |
| Access Token Secret | Access Tokenとセットで使う秘密キー | X_ACCESS_TOKEN_SECRET |
X公式ドキュメントでも、API Key & SecretはOAuth 1.0aの認証に使い、Access Token & Secretは自分のアカウントとしてAPIリクエストを行うために使うものと説明されています。
- 全体の流れ
- STEP 1:X Developer Portalにログインする
- STEP 2:ProjectとAppを作成する
- STEP 3:User authentication settingsを設定する
- App permissionsをRead and Writeにする
- Type of Appを選択する
- Callback URI / Redirect URLを入力する
- Website URLを入力する
- 設定を保存する
- STEP 4:Keys and tokensを開く
- STEP 5:API KeyとAPI Key Secretを取得する
- STEP 6:Access TokenとAccess Token Secretを取得する
- .envファイルに貼り付けるときの注意点
- キーは一度しか表示されないので必ず保存する
- 取得後に必ず確認すること
- よくある失敗
- Freeプランの制限について
- Python自動投稿ツールに設定する場所
- 最短手順まとめ
- まとめ
全体の流れ
X APIキーの取得は、大きく分けると次の3ステップです。
| STEP | 作業内容 |
|---|---|
| STEP 1 | X Developer Portalで開発者アカウントを作成する |
| STEP 2 | Appを作成して投稿できる権限に設定する |
| STEP 3 | API Key、API Key Secret、Access Token、Access Token Secretを取得する |
一番重要なのは、STEP 2の権限設定です。
投稿するには、アプリに書き込み権限が必要です。
Readのみの権限では、Xへ投稿できません。
STEP 1:X Developer Portalにログインする
まず、X Developer Portalにアクセスします。
X公式ドキュメントでは、X APIを使い始める流れとして、Developer Consoleへアクセスし、Developer Agreementに同意し、利用目的などの基本情報を入力すると説明されています。
手順は次の通りです。
- X Developer Portalを開く
- 自分のXアカウントでログインする
- 「Sign up for a Free Account」またはAPI利用開始のボタンを押す
- 利用目的を入力する
- 規約に同意する
- 開発者アカウントの作成を完了する
利用目的を聞かれた場合は、英語で入力します。
たとえば、今回のようにWordPress TipsをPythonで自動投稿したい場合は、次のような文章で大丈夫です。
I want to automate daily WordPress tips for beginners using Python.
日本語にすると、次の意味です。
Pythonを使って、初心者向けのWordPress Tipsを毎日自動投稿したいです。
長く難しく書く必要はありません。
「何のためにAPIを使うのか」が伝われば大丈夫です。
STEP 2:ProjectとAppを作成する
Developer Portalに入ったら、ProjectとAppを作成します。

X APIでは、Appを作成するとAPIキーやトークンを発行できるようになります。X公式ドキュメントでも、AppはAPI認証情報を入れるための入れ物であり、Appごとにキー、トークン、設定を持つと説明されています。
手順は次の通りです。
- Developer Portalの管理画面を開く
- 「Projects & Apps」を開く
- 新しいProjectを作成する
- 新しいAppを作成する
- App名、説明、利用目的を入力する
- Appの作成を完了する
App名は、自分が分かりやすい名前で大丈夫です。
例です。
WordPress Tips Auto Poster
説明文は、次のような内容で問題ありません。
This app posts daily WordPress tips from a local Python script.
STEP 3:User authentication settingsを設定する
Appを作成したら、すぐにキーを発行する前に、まず認証設定を行います。
ここが非常に重要です。
この設定を間違えると、APIキーを取得しても投稿できません。
Developer Portalで、作成したAppを開きます。
次に、次の場所を探します。
User authentication settings
その中にある「Set up」をクリックします。
App permissionsをRead and Writeにする
User authentication settingsの中で、App permissionsを設定します。
ここでは、必ず次の設定にします。
Read and Write
Readだけでは投稿できません。
Xへ投稿するには、書き込み権限が必要です。
X公式ドキュメントでも、投稿を作成するエンドポイントはPOST /2/tweetsであり、承認済みAppとUser Access Tokenが必要とされています。
今回の目的は「PythonからXへ投稿すること」なので、Read and Writeにしてください。
Type of Appを選択する
次に、Type of Appを選びます。
今回のように、自分のPythonプログラムから自動投稿する場合は、次のような項目を選びます。
Web App, Automated App or Bot
画面の表記は変更される場合がありますが、「Web App」「Automated App」「Bot」に近いものを選べば問題ありません。
Callback URI / Redirect URLを入力する
Callback URIまたはRedirect URLの入力欄がある場合は、次のように入力します。
http://localhost
今回のように、自分用のPython自動投稿ツールでAccess TokenとAccess Token Secretを使う場合、このURLに実際のユーザーを戻す運用は基本的に行いません。
ただし、設定欄が必須になっている場合があるため、ひとまずlocalhostを入力しておきます。
Website URLを入力する
Website URLには、自分のブログやサイトのURLを入力します。
ブログを持っている場合は、自分のブログURLを入れてください。
例です。
https://example.com
実際には、自分のサイトURLに置き換えてください。
設定を保存する
入力が終わったら、必ず保存します。
この保存を忘れると、次に取得するAccess Tokenに書き込み権限が反映されない場合があります。
特に重要なのは、次の順番です。
- User authentication settingsを設定する
- App permissionsをRead and Writeにする
- 保存する
- その後でAccess Tokenを生成する
先にAccess Tokenを作ってから権限を変更した場合は、Access Tokenを再生成してください。
古いAccess Tokenのままだと、Read and Writeの権限が反映されていない可能性があります。
STEP 4:Keys and tokensを開く
権限設定が終わったら、APIキーを取得します。
作成したAppの画面で、次のタブを開きます。
Keys and tokens
ここで、Python自動投稿に必要な4つのキーを取得します。
| 項目 | 取得場所の例 | 用途 |
|---|---|---|
| API Key | Consumer Keys | アプリ識別用 |
| API Key Secret | Consumer Keys | 署名作成用 |
| Access Token | Authentication Tokens | 自分のアカウントとして投稿するため |
| Access Token Secret | Authentication Tokens | Access Tokenとセットで使う |
X公式ドキュメントでも、認証情報は一度しか表示されないため、すぐに保存する必要があり、紛失した場合は再生成が必要になると説明されています。
STEP 5:API KeyとAPI Key Secretを取得する
まず、API KeyとAPI Key Secretを取得します。
画面上では、次のような名前で表示される場合があります。
API Key and Secret
Consumer Keys
表示されたら、次の2つをコピーします。
API Key
API Key Secret
取得したら、.envファイルに貼り付けます。
X_API_KEY=ここにAPI Keyを貼り付ける
X_API_SECRET=ここにAPI Key Secretを貼り付ける
STEP 6:Access TokenとAccess Token Secretを取得する
次に、Access TokenとAccess Token Secretを取得します。
画面上では、次のような場所にあります。
Access Token and Secret
Authentication Tokens
「Generate」または「Regenerate」を押して、次の2つを取得します。
Access Token
Access Token Secret
取得したら、.envファイルに貼り付けます。
X_ACCESS_TOKEN=ここにAccess Tokenを貼り付ける
X_ACCESS_TOKEN_SECRET=ここにAccess Token Secretを貼り付ける
最終的に、.envファイルは次のような形になります。
X_API_KEY=xxxxxxxxxxxxxxxxxxxxxxxx
X_API_SECRET=xxxxxxxxxxxxxxxxxxxxxxxx
X_ACCESS_TOKEN=xxxxxxxxxxxxxxxxxxxxxxxx
X_ACCESS_TOKEN_SECRET=xxxxxxxxxxxxxxxxxxxxxxxx
実際には、xxxxxxxxの部分に取得した値を入れます。
.envファイルに貼り付けるときの注意点
.envファイルに貼り付けるときは、次の点に注意してください。
| 注意点 | 内容 |
|---|---|
| 余計なスペースを入れない | = の前後にスペースを入れない |
| 引用符を付けない | 基本的に ” ” や ‘ ‘ は不要 |
| 改行を崩さない | 1行に1つずつ設定する |
| キー名を変えない | Python側の読み取り名と一致させる |
| 他人に見せない | 不正利用される可能性がある |
正しい例です。
X_API_KEY=abc123
X_API_SECRET=def456
X_ACCESS_TOKEN=ghi789
X_ACCESS_TOKEN_SECRET=jkl012
避けたい例です。
X_API_KEY = abc123
X_API_SECRET="def456"
X_ACCESS_TOKEN: ghi789
Python側のコードがどの名前で読み込むかによって、.envの名前は変わる場合があります。
すでに.envのひな形がある場合は、その項目名に合わせてください。
キーは一度しか表示されないので必ず保存する
API Key SecretやAccess Token Secretは、一度しか表示されない場合があります。
画面を閉じた後に見返せないことがあります。
そのため、表示されたらすぐに.envファイルへ貼り付けて保存してください。
ただし、メモ帳などに一時保存する場合も、他人が見られない場所に保存してください。
おすすめは、次のどちらかです。
| 保存場所 | 内容 |
|---|---|
| .env | Pythonツールで使うための保存先 |
| パスワード管理ツール | 念のための保管場所 |
公開用のGoogleドキュメント、ブログ記事、SNS、GitHubの公開リポジトリには絶対に貼らないでください。
取得後に必ず確認すること
キーを取得したら、次の項目を確認します。
| 確認項目 | 正しい状態 |
|---|---|
| Developerアカウント | 作成済み |
| Project | 作成済み |
| App | 作成済み |
| App permissions | Read and Write |
| Type of App | Web App / Automated App / Bot系 |
| Callback URI | 設定済み |
| Website URL | 設定済み |
| API Key | 取得済み |
| API Key Secret | 取得済み |
| Access Token | 取得済み |
| Access Token Secret | 取得済み |
| .env | 4つの値を貼り付け済み |
この状態になっていれば、Python側からXへ投稿する準備ができます。
よくある失敗
X APIキー取得でよくある失敗は、次の通りです。
| 失敗 | 原因 |
|---|---|
| 投稿できない | App permissionsがReadだけになっている |
| 403エラーが出る | 書き込み権限がない |
| 401エラーが出る | APIキーやトークンが間違っている |
| Access Tokenが使えない | 権限変更前に発行した古いトークンを使っている |
| .envを読み込めない | 項目名がPythonコードと一致していない |
| キーを紛失した | Secretは再表示できず、再生成が必要になる |
特に多いのは、App permissionsをRead and Writeにする前にAccess Tokenを発行してしまうケースです。
この場合は、権限をRead and Writeに変更して保存したあと、Access TokenとAccess Token Secretを再生成してください。
Freeプランの制限について
X APIのプランや制限は変更される可能性があります。
そのため、無料プランで何回投稿できるか、どのエンドポイントが使えるかは、必ずDeveloper Portal上の現在の表示で確認してください。
1日1件の自動投稿であれば、多くの場合は大きな投稿数にはなりません。
ただし、APIの利用条件、投稿上限、レート制限は変更されることがあるため、運用前に最新のプラン内容を確認することが大切です。
Python自動投稿ツールに設定する場所
取得した4つのキーは、Python自動投稿ツールの.envファイルに入力します。
場所は、たとえば次のようなフォルダです。
x_auto_post/.env
中身は次のようにします。
X_API_KEY=取得したAPI Key
X_API_SECRET=取得したAPI Key Secret
X_ACCESS_TOKEN=取得したAccess Token
X_ACCESS_TOKEN_SECRET=取得したAccess Token Secret
この設定が完了したら、次にPython側でテスト投稿を行います。
テスト投稿で成功すれば、X APIキーの取得と設定は完了です。
最短手順まとめ
最後に、最短ルートだけをまとめます。
- X Developer Portalにログインする
- Developerアカウントを作成する
- Projectを作成する
- Appを作成する
- User authentication settingsを開く
- App permissionsをRead and Writeにする
- Type of AppをWeb App / Automated App / Bot系にする
- Callback URIにlocalhostを設定する
- Website URLに自分のブログURLを入力する
- 設定を保存する
- Keys and tokensを開く
- API Keyを取得する
- API Key Secretを取得する
- Access Tokenを取得する
- Access Token Secretを取得する
- 4つの値を.envに貼り付ける
- Pythonでテスト投稿する
まとめ
PythonでXへ自動投稿するには、X Developer PortalでAPIキーを取得する必要があります。
必要なのは、次の4つです。
API Key
API Key Secret
Access Token
Access Token Secret
この4つを取得し、Python自動投稿ツールの.envファイルに設定します。
一番重要なのは、App permissionsをRead and Writeにすることです。
Readだけでは投稿できません。
また、権限を変更した後は、Access TokenとAccess Token Secretを再生成してください。
キーを取得できたら、.envに貼り付け、Python側でテスト投稿を行います。
テスト投稿が成功すれば、X APIキーの準備は完了です。

