Twitter API v2(X API Free)の覚書です。少し前に仕様が変わったためそちらも踏まえて書いておきます。
Twitter API v2(X API Free)の使い方・移行(2024年)
まずはX Developer Platform(Twitter Developer Platform)の登録方法からです。
- 画面右上の開発者ポータルをクリックします。
- ログインしていない場合は、X(Twitter)でログインします。
以前、Twitter APIを利用したことがある方は、画面右上の開発者ポータルを選択するとそのまま管理画面に移行します。一部の手順を飛ばせます。
画面下のSign up for Free Accountを選びます。
画面が変わると、いくつかの項目が英語で表示されます。必要な事項を入力し、登録を完了します。
各項目を順番に見ていきましょう。
Describe all of your use cases of Twitter’s data and APIという項目は、X(Twitter)のAPIとデータの全ての使用事例を説明してください、という意味です。
X(Twitter)社は昔から日本語対応はやや中途半端な形であるため、またフォーム自体も英語のため、どちらかといえば、英語で記載することをおすすめします。
X(Twitter) Developer Portalの画面は、Chromeで右クリックからも翻訳できます。
右クリック > 日本語に翻訳
以下に申請例を示します。
I am a developer specializing in programming and design, and also a blogger focusing on app development. I am currently crafting a tool that automatically posts relevant tips and blog content to X. These posts, comprising text, images, and related blog URLs, are designed to adhere to X’s policies and provide value to my followers.
日本語訳は以下の通りです。
私はプログラミングとデザインをする開発者であり、アプリ開発のブロガーでもあります。現在、ブログの記事やお役立ち情報をシェアするツールを開発しています。これらの投稿は、テキスト、画像、そして関連するブログのURLを含むもので、Xの規約に従うことを心がけており、私のフォロワーにとって価値ある情報を提供することを目指しています。
英語が苦手な方は、申請文は日本語で書いたのち、DeepLやOpenAIのChatGPTに翻訳してもらうとよいでしょう。
無料で翻訳するなら、次の2サイトがおすすめです。
慣れていない方は、1つの文を長文にせず、翻訳しやすい日本語を使うとよいです。
例文の専門ジャンルを置き換えたり、複数人で運営している場合、IをWeにすると対応できます。
もちろん参考にしてもらっても結構ですが、それほど難しくないため、なるべくオリジナルの文章で申請するとよいでしょう。
次の3つはチェックボックスをチェックするだけです。
- You understand that you may not resell anything you receive via the Twitter APIs - Twitter APIで受け取ったものを再販してはならないことを理解しています
- You understand your Developer account may be terminated if you violate the Developer Agreement or any of the Incorporated Developer Terms - デベロッパー契約または任意の開発者規約を違反した場合、開発者アカウントが終了することを理解しています
- You accept the Terms & Conditions - 利用規約に同意します
最後にSubmitボタンをおします。
7つのTwitter API v2(X API Free)キーをゲットしよう!
管理画面に入ると、プロジェクトとアプリが自動生成されます。
昔から使っている方向けにお知らせとなりますが、以前はプロジェクトとアプリを作成する流れが必要でしたが、面倒が手続きが簡略化されたようです。より簡単になりました。
自動生成されたプロジェクトとアプリは基本的にそのまま使って問題ありません。
アプリは作成済みですが、7つのAPIキーを集めなければなりません。
- Consumer API Key:
- Consumer API Secret:
- Client ID:
- Client Secret:
- Bearer Token:
- Access Token:
- Access Token Secret:
コールバックURLを指定する認証の設定をすると、APIキーを2つ入手できます。
残りの5つは簡単に生成できますので、認証の設定さえ終わればすぐに7つのキーが集まります。
Access Tokenというキーは、コールバックURLを指定した後に作成する必要があるため、先に認証の設定を行ってください。
それでは、キーを探しましょう!
X(Twitter) Developer Portalで認証の設定
X(Twitter) Developer Portalで認証の設定を行います。途中でコールバックURLが必要なります。
まず、X(Twitter) Developer Portalを開きます。
画面左側にあるあなたの**アプリ名(xxxxxxxxxxxxxxxxxxxxAccountname)**をクリックします。
画面左の[xxxxxxxxxxxxxxxxxxxxAccountname] > User authentication settingsの[Set up]
その後、次の項目を設定します。
- Read and write: ポストする場合、書き込みが必要なため、Read and Writeを選択します。
- Web App, Automated App or Bot: 対象のアプリケーションタイプを選択します。Webアプリの場合は、Web App, Automated App or Botです。
- Callback URI / Redirect URL: コールバックURLを入力します(取得方法は次の見出しにまとめました)。
- Website URL: 自身のウェブサイトのURLを入力します(なければ、X(Twitter)のURLでも構いません)。
- 他の項目は空欄のままでも問題ありません。
設定が終わったら次の手順で進みます。
Save > Yes
すると、OAuth 2.0 クライアント ID とクライアント シークレットが表示されます。これらは一度しか表示されないため、メモ帳などに記録しておきます。
次に、Done > Yes, I saved it を選択します。
さらに、Keys and tokensのタブを見ると、OAuth 2.0 Client ID and Client Secretという項目があり、OAuth 2.0 クライアント ID とクライアント シークレットが表示されます。
Client IDはこの画面から確認できます。変更したい場合は、アプリを作り直す必要があります。Client SecretはRegenerateボタンを押すと再生成できます。
GASでコールバックURLの取得とURLの編集
コールバックURLはユーザーごとにユニークなIDとなります。
Google Apps Script(GAS)とスプレッドシートの例で説明します。
このURLを取得するには、スプレッドシートのコピーを作成し、スクリプトエディタを開く必要があります。
まず、次の手順でGoogle Apps Script(GAS)のURLを開きます。
拡張機能 > Apps Script
GASのURLはテキストエディタなどに一時的にコピーしておきます。
次に表示されるURLからID部分のみをドラッグ&ドロップでコピーします。以下はその例です。
- トップページのアドレス:
https://script.google.com/u/0/home/projects/[ID]
- エディタ画面のアドレス:
https://script.google.com/u/0/home/projects/[ID]/edit
コールバック用のURLは次の形式になるので、上記でコピーしたID部分を以下の[ID]の部分にペーストして置換します。
https://script.google.com/macros/d/[ID]/usercallback
置換したURLをX(Twitter)ポータルの設定画面に入力します。
API Key、API Secret Key、Bearer Tokenを取得
こちらは非常に簡単です。
画面左の[アプリ名(xxxxxxxxxxxxxxxxxxxxAccountname)] > [Keys and tokens]のタブ
次の項目が並んでいます。
- API Key and Secret
- Bearer Token
- Access Token and Secret
API Key and SecretでGenerate(2回目からはRegenerate)ボタンをおすと、API Key、API Secret Keyが表示されます
Bearer TokenでGenerate(2回目からはRegenerate)ボタンをおすと、Bearer Tokenが表示されます。
Copyボタンを使って、各々、テキストエディタなどにめも(ペースト)しておきましょう。
キーは一度しか表示されませんので、忘れずにめもします。忘れた場合、キーを再生成しなければなりません。
Access TokenとAccess Token Secretを取得
Access TokenとAccess Token Secretも同じです。
ただし、アクセストークンはトラブルが起きた際やコールバックURLが変更された場合は作り直す必要があります。
こちらは簡単で、手順は次のとおりです。
画面左の[アプリ名(xxxxxxxxxxxxxxxxxxxxAccountname)] > [Keys and tokens]のタブ > Access Token and Secretの[Regenerate]
APIキーをめもします。
Yes, I saved themボタンを押すと閉じます。
ここまでで全部キーが集まったはずです。お疲れ様でした。
Twitter API v2(X API Free)の料金(2024年)
X(Twitter API)の料金もまとめておきます。
- Freeプラン:無料。ツイートの投稿、自己アカウントの情報取得、Twitterログインが可能。月間ツイート投稿1,500件(1日のAPI経由投稿数の上限は50件)、アプリのID数:1件まで1。
- Basicプラン:月額100ドル(約15,000円)。月間ツイート投稿3,000件(書き込み)、月間10,000件のツイート取得上限(読み込み)、アプリのID数:2件まで。
- Proプラン:月額5000ドル(約750,000円)。月間ツイート投稿の上限数:アプリあたりの場合月間300,000件、月間1,000,000件のツイート取得上限、アプリのID数:3件まで.
- Enterpriseプラン:ビジネスや大規模なサービス開発向け。価格は非公開だがニュースサイトや実際に契約している人などによるとEnterprise向けプランの最も安価なパッケージは月額42,000ドル(約6,300,000円)で、最も高額なパッケージ「Large Package」は月額210,000ドル(約31,500,000円)。
*1ドル150円で計算
有料化はある程度は理解できるけど、要望としては読み込みができるFreeとBasicの中割プラン、BasicとProの中割プランがないと段階的な運用は厳しいと感じましたね。開発者の参入障壁になり、逆に開発者のコミュニティが育たず、X(Twitter)が廃れるのではと。もう少しバランスがよいといいなという気がしますね。
個人開発
とりあえず、Twitter API freeを使って個人開発してみました。興味あればご覧ください。
読み込みも使えると他にもいろいろとできるのですけど、ユーザーにAPIを各々取得してもらうタイプだと、Basicプランでは提供しずらい気がしました。ケーススタディとして。
今後のX(Twitter)の改善にしたいですかね。