ある日、SNSの投稿管理について調べていたところ、「Googleスプレッドシートを使ったSNS自動投稿の仕組み」が有料記事として販売されているのを見かけました。内容を確認してみたところ、正直なところ、この程度の内容でお金を取るレベルではないと感じたんですよね。
そこで、自分で徹底的に調べて、無料で誰でも実践できる形にまとめてみることにしました。この記事では、Google Apps Script(GAS)を使って、スプレッドシートに書いた投稿内容をX(旧Twitter)やThreadsに自動で投稿する仕組みを構築する方法を解説します。
Googleスプレッドシート×GASで自動投稿する全体像
まず、仕組みの全体像を整理しておきます。やることはシンプルで、以下の3ステップです。
- スプレッドシートに投稿内容を準備する(テキスト、投稿日時、投稿先SNS)
- GASで投稿スクリプトを書く(各SNSのAPIを叩く処理)
- トリガーで定期実行する(毎時チェック→該当時刻の投稿を実行)
特別なサーバーもツールも不要で、Googleアカウントさえあれば完全無料で構築できます。実際にこの仕組みを運用してみましたが、一度セットアップすれば手間はほぼゼロでした。
スプレッドシートのテンプレート設計
まずはスプレッドシートの構造を決めます。以下のカラムを用意するのがおすすめです。
- A列:投稿日時(例: 2026-02-15 09:00)
- B列:投稿テキスト(本文)
- C列:投稿先(X / Threads / Both)
- D列:ステータス(未投稿 / 投稿済み / エラー)
- E列:投稿ID(投稿後にAPIから返るID)
ポイントは、ステータス列を設けて二重投稿を防ぐことです。GASのスクリプトが実行されるたびに「未投稿」のものだけを処理する形にします。
X(Twitter)APIの設定手順
X APIを使うには、まずX Developer Portalでアプリを作成する必要があります。
2026年現在、Freeプランでも投稿APIは利用可能です。ただし、1日あたりの投稿数に制限があるので注意してください。具体的には、Freeプランだと1日17件まで投稿できます。
アプリを作成したら、以下の情報をメモしておきます。
- API Key
- API Secret
- Access Token
- Access Token Secret
これらをGASのスクリプトプロパティに保存しておくと、コード内にハードコードせずに済みます。セキュリティ的にもこの方法が推奨されています。
GASでX APIにOAuth 1.0a認証する方法
GASからX APIを叩くには、OAuth 1.0a認証が必要になります。ここが少しハマりやすいポイントかもしれません。
GASにはOAuth 1.0aのライブラリがあり、apps-script-oauth1をスクリプトエディタから追加できます。ライブラリID「1CXDCY5sqT9ph64fFwSzVtXnbjpSfWdRymafDrtIZ7Z_hwysTY7IIhi7s」で検索すると見つかります。
認証フローを一度通せば、あとはトークンがキャッシュされるので、毎回認証する必要はありません。
Threads APIでの投稿
Threads APIは2024年にMeta公式として公開されました。Instagram Graph APIの拡張として提供されており、Meta for Developersでアプリを作成することで利用できます。
投稿の流れは2段階です。まずコンテナを作成し、次にそのコンテナを公開するという形になっています。少し独特ですが、慣れれば問題ありません。
GASからはUrlFetchAppを使ってREST APIを直接叩けるので、追加ライブラリは不要です。これは結構楽なポイントですね。
トリガー設定で完全自動化する
GASの「トリガー」機能を使えば、スクリプトを定期的に自動実行できます。おすすめは1時間ごとのトリガーです。
毎時実行されるスクリプトが、スプレッドシートから「現在時刻に該当する未投稿の行」を探し、見つかれば投稿処理を実行します。投稿が成功したらステータスを「投稿済み」に更新し、失敗したら「エラー」にして原因をログに記録する、という流れです。
GASのトリガーは無料枠で1日90分の実行時間が使えるので、この用途なら十分余裕があります。
運用のコツと注意点
実際に運用してみて気づいたことをいくつか共有します。
まず、投稿内容のバリエーションは意識した方がいいです。同じような文面が繰り返されると、フォロワーにも運営側にも「自動投稿だな」とバレやすくなります。スプレッドシートに1週間分くらいまとめて書き溜めて、表現を変えるのがコツです。
また、APIのレート制限にも注意が必要です。特にX APIのFreeプランは制限がかなり厳しいので、投稿頻度は控えめに設定しておくのが無難でしょう。
それから、エラーハンドリングは最初からしっかり実装しておくことをおすすめします。APIが一時的にダウンしていたり、トークンが失効していたりすることは珍しくないので、失敗時にリトライする仕組みを入れておくと安心です。
有料ツールとの比較
SNS自動投稿の有料ツールとしては、BufferやHootsuite、SocialBeeなどが有名です。これらは月額数千円〜数万円のコストがかかります。
一方、GASで自作する場合のメリットは以下の通りです。
- 完全無料で運用できる
- カスタマイズの自由度が圧倒的に高い
- データがスプレッドシートに残るので分析しやすい
- 他のGoogleサービス(カレンダー、Gmail等)と連携できる
デメリットとしては、初期構築に技術的な知識が必要な点と、UIが洗練されていない点くらいでしょうか。ただ、エンジニアやプログラミングに興味がある方なら、むしろ楽しめる作業だと思います。
関連記事として、WordPress REST APIとcronで記事投稿を完全自動化した手順や、tweepyとGemini APIでトレンド連動のX(Twitter) BOTを作ったも参考になるかもしれません。
まとめ
Googleスプレッドシート×GASでSNS自動投稿の仕組みを構築する方法を解説しました。必要なのはGoogleアカウントと各SNSのAPI設定だけで、サーバー代もツール代もかかりません。
有料で販売されている情報の多くは、実はこうやって調べれば無料で手に入るものだったりします。もちろん、有料教材には体系的にまとまっている価値はありますが、個別の技術情報については公式ドキュメントとコミュニティの情報で十分なことがほとんどです。
自動化の仕組みを作るのは最初こそ手間がかかりますが、一度動き始めれば日々の運用コストはほぼゼロになります。ぜひ試してみてください。