Clicky

X APIキーを取得する手順|Python自動投稿用に必要な4つのキーを準備する方法

Python(パイソン)
Python(パイソン)
この記事は約12分で読めます。

※記事中に広告情報を含みます。

スキルを手に入れた時、人は強くなれる。
Youtubeでスキルアップを始める 電子書籍でスキルアップを始める

この記事では、PythonからXへ自動投稿するために必要なAPIキーを取得する手順を、初めての人向けに整理します。

今回必要になるのは、次の4つです。

取得するもの役割.envで使う名前
API Keyアプリを識別するキーX_API_KEY
API Key SecretAPI Keyとセットで使う秘密キーX_API_SECRET
Access Token自分のXアカウントとして操作するためのトークンX_ACCESS_TOKEN
Access Token SecretAccess Tokenとセットで使う秘密キーX_ACCESS_TOKEN_SECRET

X公式ドキュメントでも、API Key & SecretはOAuth 1.0aの認証に使い、Access Token & Secretは自分のアカウントとしてAPIリクエストを行うために使うものと説明されています。

全体の流れ

X APIキーの取得は、大きく分けると次の3ステップです。

STEP作業内容
STEP 1X Developer Portalで開発者アカウントを作成する
STEP 2Appを作成して投稿できる権限に設定する
STEP 3API 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に同意し、利用目的などの基本情報を入力すると説明されています。

手順は次の通りです。

  1. X Developer Portalを開く
  2. 自分のXアカウントでログインする
  3. 「Sign up for a Free Account」またはAPI利用開始のボタンを押す
  4. 利用目的を入力する
  5. 規約に同意する
  6. 開発者アカウントの作成を完了する

利用目的を聞かれた場合は、英語で入力します。

たとえば、今回のように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ごとにキー、トークン、設定を持つと説明されています。

手順は次の通りです。

  1. Developer Portalの管理画面を開く
  2. 「Projects & Apps」を開く
  3. 新しいProjectを作成する
  4. 新しいAppを作成する
  5. App名、説明、利用目的を入力する
  6. 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に書き込み権限が反映されない場合があります。

特に重要なのは、次の順番です。

  1. User authentication settingsを設定する
  2. App permissionsをRead and Writeにする
  3. 保存する
  4. その後でAccess Tokenを生成する

先にAccess Tokenを作ってから権限を変更した場合は、Access Tokenを再生成してください。

古いAccess Tokenのままだと、Read and Writeの権限が反映されていない可能性があります。

STEP 4:Keys and tokensを開く

権限設定が終わったら、APIキーを取得します。

作成したAppの画面で、次のタブを開きます。

Keys and tokens

ここで、Python自動投稿に必要な4つのキーを取得します。

項目取得場所の例用途
API KeyConsumer Keysアプリ識別用
API Key SecretConsumer Keys署名作成用
Access TokenAuthentication Tokens自分のアカウントとして投稿するため
Access Token SecretAuthentication TokensAccess 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ファイルへ貼り付けて保存してください。

ただし、メモ帳などに一時保存する場合も、他人が見られない場所に保存してください。

おすすめは、次のどちらかです。

保存場所内容
.envPythonツールで使うための保存先
パスワード管理ツール念のための保管場所

公開用のGoogleドキュメント、ブログ記事、SNS、GitHubの公開リポジトリには絶対に貼らないでください。

取得後に必ず確認すること

キーを取得したら、次の項目を確認します。

確認項目正しい状態
Developerアカウント作成済み
Project作成済み
App作成済み
App permissionsRead and Write
Type of AppWeb App / Automated App / Bot系
Callback URI設定済み
Website URL設定済み
API Key取得済み
API Key Secret取得済み
Access Token取得済み
Access Token Secret取得済み
.env4つの値を貼り付け済み

この状態になっていれば、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キーの取得と設定は完了です。

最短手順まとめ

最後に、最短ルートだけをまとめます。

  1. X Developer Portalにログインする
  2. Developerアカウントを作成する
  3. Projectを作成する
  4. Appを作成する
  5. User authentication settingsを開く
  6. App permissionsをRead and Writeにする
  7. Type of AppをWeb App / Automated App / Bot系にする
  8. Callback URIにlocalhostを設定する
  9. Website URLに自分のブログURLを入力する
  10. 設定を保存する
  11. Keys and tokensを開く
  12. API Keyを取得する
  13. API Key Secretを取得する
  14. Access Tokenを取得する
  15. Access Token Secretを取得する
  16. 4つの値を.envに貼り付ける
  17. 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キーの準備は完了です。

ホーム
掲載依頼
WordPress
スキルアップ
記事カテゴリ
お問い合わせ
Youtube