Twitter APIを利用するにはXアカウントおよびAPI利用のためのアカウント作成、ユーザー認証設定、各種APIキーの発行が必要です。
Twitter APIには利用枠には無料枠、有料のベーシック版とプロ版の3種類があります。
本記事ではGoogle Apps Scriptから無料枠でTwitter APIを利用するというシチュエーションでTwitter API利用までの準備を解説していきます。
- プログラムからのTwitter API認証処理は本記事では取り扱いません。
- 2024.03.01現在の情報です。今後手順や画面キャプチャの内容は更新される場合があります。
前提条件
- Xアカウントを取得していること
- 任意のGoogleスプレッドシートを作成していること
(スプレッドシート作成にはGoogleアカウントが必要です。)
手順
1. 開発者アカウントの作成
無料枠アカウントの選択
以下URLから開発者ポータル画面にアクセスし、キャプチャ赤枠の「Sign up for Free Account」をクリックします。
https://developer.twitter.com/en/portal/petition/essential/basic-info

利用同意画面への入力
以下の利用同意画面に遷移しました。各入力欄を埋めていきます。

①Describe all of your use cases of Twitter’s data and API
テキストエリアには自身のTwitter APIの利用ケースを250文字以上で入力する必要があります。
利用ケース文は「aaa」など適当な文字でも通るのですが、ご自身の利用方法に沿って念のため英語で入力してください。私のように英語に自身のない方は日本語で文章を作り、Google翻訳で英訳した文を貼り付けるといいでしょう。
参考までに私の利用ケース説明文を記載しておきます。コピペいただいて構いません。
英語
I would like to use the Twitter API to develop a Twitter Bot that can post instantly, schedule posts, and periodically post using Google Apps Script. Also, I would like to use the Twitter Bot I developed to promote my own blog articles and do affiliate marketing.
日本語
私はGoogle Apps Scriptでポストの即時投稿や予約投稿、定期投稿ができるTwitter Botを開発するためにTwitter APIを利用したいです。そして、私は開発したTwitter Botで自身のブログ記事の宣伝やアフィリエイトを行いたいです。
②各チェックボックスを全てチェックします。
最終的に以下の状態にして、「Submit」をクリックし、ダッシュボード画面に移動します。
次はTwitter APIアクセス情報の取得の事前準備として少しGoogleスプレッドシートの操作を行います。

以上で無料枠アカウントの作成が完了しました。
2. Twitter APIアクセス情報の取得
ここからTwitter APIアクセス情報の取得手順を解説していきます。
【事前準備】Google Apps ScriptスクリプトIDの取得
次章のユーザー認証設定のため、Google Apps ScriptのスクリプトIDが必要です。
事前に作成したTwitter API利用元のGoogleスプレッドシートを別タブで開き、メニューの「拡張機能」から「Apps Script」をクリックしてGoogle Apps Scriptの画面に移動します。


左メニューのキャプチャ赤枠の「プロジェクトの設定」をクリックします。

プロジェクトの設定画面の「ID」セクションのスクリプトIDをキャプチャ赤枠クリックでコピーし、どこかに保存してください。

以上で事前準備であるGoogle Apps ScriptスクリプトIDの取得は完了です。
ユーザー認証設定
ここからダッシュボード画面を操作していきます。
キャプチャ赤枠の「App settings」をクリックします。

Twitter API利用のためのコールバックURL等を設定していくので、User authentication settingsの「Set up」をクリックします。

ユーザー認証設定画面に遷移します。各入力項目を以下のように設定してください。
各項目は以下のように設定してください。
①App permissions
Read and write
②Type of App
Web App, Automated App or Bot

③App infoのCallback URI / Redirect URL
[スクリプトID]の部分はGoogle Apps Scriptの操作でコピーしたスクリプトIDに置き換えてください。
https://script.google.com/macros/d/[スクリプトID]/usercallback
④App infoのWebsite URL
https://script.google.com
上記①〜④の項目は任意入力項目かつGASの場合は設定対象URLがないので、空欄で構いません。「Save」をクリックします。

Changing permissions might affect your Appモーダルウィンドウが開くので「Yes」をクリックします。

これでユーザー認証設定は完了です。
Client ID・Client Secretの取得
Client ID・Client Secret情報の表示画面に遷移しました。
Twitter API v2利用のため、OAuth2.0認証に必要な「Client ID」「Client Secret」をそれぞれコピーしてください。
Client IDはダッシュボード画面からでも参照可能ですが、Client Secretはこの画面または「Done」の遷移先でしか値は参照できないため、コピーしてどこかに保存してください。(再発行可能です)
「Done」をクリックします。

Save your OAuth2.0 Client Secretモーダルウィンドウが開きます。
「Client Secret」は先ほどコピーしましたので、ここでは「Yes, I saved it」をクリックします。

これでClient ID・Client Secretの取得は完了です。
Consumer Keys・Authentication Tokensの発行
Twitter API v1利用のため、OAuth1.0の認証に必要なConsumer Keys・Authentication Tokens情報を発行していきます。
キャプチャ赤枠の「Keys and tokens」タブをクリックして、キーやトークンの参照画面に移動します。

まずはConsumer KeysからAPI KeyとAPI Key Secretを発行します。
キャプチャ赤枠の「Regenerate」をクリックすると、Regenerateモーダルウィンドウが開くので「Yes, regenerate」をクリックしてください。


API KeyとAPI Key Secretが表示されます。
各情報をコピーしてどこかに保存し、「Yes, I saved them」をクリックして完了します。(キー情報はこの画面からでしか参照できませんが、「Regenerate」で再発行可能です。)

次にAuthentication TokensからBearer Token、Access Token、Access Token Secretを取得します。
Bearer Tokenの「Generate」をクリックしてください。

Did you save your Bearer Token?モーダルウィンドウが開き、Bear Tokenが発行されるので、コピーしてどこかに保存し、「Yes, I saved it」をクリックして完了します。(キー情報はこの画面からでしか参照できませんが、「Regenerate」で再発行可能です。)

続いてAccess Token and Secretの「Generate」をクリックしてください。

Did you save your Access Token and Access Token Secret?モーダルウィンドウが開き、Access TokenとAccess Token Secretが発行されるので、コピーしてどこかに保存し、「Yes, I saved them」をクリックして完了します。(キー情報はこの画面からでしか参照できませんが、「Regenerate」で再発行可能です。)

以上でConsumer Keys・Authentication Tokensの発行は完了です。
また、これにてTwitter APIを利用するための準備が整いました。
まとめ
ここまでお疲れ様でした!
Twitter APIについて情報更新されましたら、この記事も更新していく予定です。