TwitterやXの投稿データをまとめてスプレッドシートに取り込みたいと思ったことはありませんか。手動でコピー&ペーストするのは手間がかかり、リアルタイム性も失われてしまいます。しかし、Twitterの公式APIを使えば、特定キーワードやユーザーのツイートを自動で取得して一覧化できるようになります。この記事では、GoogleスプレッドシートとTwitter/X APIを連携させる具体的な手順を、初心者にもわかりやすく解説します。
【要点】Twitter/X APIで最新ツイートをスプレッドシートに自動で取り込む方法
- Twitter Developer Portalでプロジェクトを作成: APIキーやBearer Tokenを取得するための必須の準備工程です。
- Apps Scriptでスクリプトを記述: Bearer Token認証を使ってツイートを取得し、スプレッドシートに書き込むコードです。
- トリガー設定で自動更新: スプレッドシート上で定期的に最新ツイートを再取得できるようになります。
ADVERTISEMENT
目次
Twitter/X APIをスプレッドシートで使う仕組み
Twitter/X APIは、Twitter社が提供するWeb APIで、ツイートの検索や投稿などの操作をプログラムから行えます。スプレッドシートで利用するには、Googleが提供するApps ScriptというJavaScriptベースのスクリプト環境を使います。Apps ScriptからAPIにリクエストを送信し、返ってきたJSONデータをパースしてシートに書き込む流れです。APIの認証方式にはいくつかありますが、今回はアプリ単独で使えるBearer Token(OAuth 2.0 Bearer Token)を使用します。この方式は自分のアカウントのツイートだけでなく、公開ツイートの検索もできます。ただし、レート制限(15分間で最大450リクエスト)があるため、頻繁な更新が必要な場合は注意してください。
APIキーを取得する手順
最初に、Twitter Developer PortalでAPIキーを取得します。以下の手順に従ってください。
- Twitter Developer Portalにアクセス
ブラウザでhttps://developer.twitter.comにアクセスし、自分のTwitterアカウントでログインします。プロジェクトとアプリを作成するための画面が表示されます。 - 新しいプロジェクトを作成
「Projects & Apps」タブで「New Project」をクリックし、プロジェクト名と目的を選択します。「Use case」では「Academic research」「Student」「Non-academic」のいずれかを選びます。趣味で使う場合は「Non-academic」を選んでください。 - アプリを作成してAPIキーを生成
プロジェクト内に新しいアプリを作成します。アプリ名を入力すると、自動的にAPI Key、API Key Secret、Bearer Tokenが生成されます。これらの値をメモしておきます。特にBearer Tokenは後でスクリプトに記述します。 - User Authentication(任意)
今回はBearer Tokenだけで動作するため、User Authenticationの設定は不要です。デフォルトのまま進めて構いません。
Apps Scriptでツイート取得スクリプトを作成する手順
APIキーが手に入ったら、次にスプレッドシートを開いてApps Scriptエディタを起動します。以下の流れでスクリプトを記述します。
- スプレッドシートを開く
新しいスプレッドシートを作成し、メニューから「拡張機能」→「Apps Script」を選択します。エディタが別タブで開きます。 - スクリプトを記述
エディタに以下のコードを貼り付けます。このコードは、指定したキーワードで最近のツイートを検索し、結果をシートに書き込むものです。function getTweets() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var bearerToken = 'YOUR_BEARER_TOKEN'; var query = encodeURIComponent('検索キーワード'); var url = 'https://api.twitter.com/2/tweets/search/recent?query=' + query + '&max_results=10'; var options = { 'method': 'get', 'headers': { 'Authorization': 'Bearer ' + bearerToken } }; var response = UrlFetchApp.fetch(url, options); var json = JSON.parse(response.getContentText()); var tweets = json.data; var rows = []; if (tweets) { for (var i = 0; i < tweets.length; i++) { rows.push([tweets[i].id, tweets[i].text, tweets[i].created_at]); } sheet.getRange(1, 1, rows.length, 3).setValues(rows); } } - スクリプトの修正
コード内の`YOUR_BEARER_TOKEN`を先ほどメモしたBearer Tokenに置き換えてください。また、`query`の'検索キーワード'を実際に検索したい語句に変更します(例:'Googleスプレッドシート')。 - 実行してテスト
エディタ上で`getTweets`関数を選択し、実行ボタンをクリックします。初回は承認が必要です。画面の指示に従って権限を許可してください。実行後、スプレッドシートにツイートのID、テキスト、作成日時が表示されれば成功です。
ADVERTISEMENT
よくあるエラーと対処法
Bearer Tokenが正しくないか、期限切れの可能性があります。Developer Portalで新しいTokenを発行し、スクリプトを更新してください。また、トークンの先頭に「Bearer 」のスペースが入っているか確認します。
429 Too Many Requestsエラーが発生する
レート制限に達した場合に発生します。15分待ってから再度実行するか、取得するツイート数を減らしてください(コード内の`max_results`を5などに変更)。
スクリプトが動作しないがエラーが出ない
シートに書き込む前に`console.log(json)`でレスポンス内容を確認してください。APIの仕様変更やクエリパラメータの間違いが原因です。また、検索結果が0件の場合、`json.data`がundefinedになるため、if文でチェックしています。
手動実行と自動更新の違い
| 項目 | 手動コピー&ペースト | Apps Script + API |
|---|---|---|
| 手間 | 毎回ブラウザでツイートを開いてコピペする必要がある | スクリプトを一度作ればボタン一つで取得可能 |
| リアルタイム性 | リアルタイムに近いが更新が遅れる | トリガーを使えば定期的に自動更新できる |
| データの正確さ | 手動ミスが発生する | プログラムによるため正確 |
| カスタマイズ性 | 抽出条件を変えるのが面倒 | クエリや取得項目を自由に変更できる |
まとめ
この記事では、Twitter/X APIとApps Scriptを使ってスプレッドシートに最新ツイートを自動で取り込む方法を解説しました。APIキーの取得からスクリプトの記述、実行確認までの一連の流れを理解できたはずです。一度スクリプトをセットアップすれば、手動でコピペする手間から解放され、常に最新のツイートをシート上で確認できます。さらに、Apps Scriptのトリガー機能を使って15分おきなどに自動実行する設定も試してみてください。これにより、ダッシュボード的な活用も可能になります。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
