ガイド

Google SheetsからSNSに自動投稿する方法

Google Sheetsは多くのチームが既にコンテンツ企画に使っています。それを配信エンジンに変えてみませんか?このガイドでは、ブラウザから離れることなく、TikTok、Instagram、YouTubeなどにコンテンツを自動投稿するスプレッドシートの設定方法を紹介します。

仕組みの概要

セットアップは3つの部分で構成されます:

  1. Google Sheetsをコンテンツカレンダーとして使用(タイトル、キャプション、動画リンク、配信先プラットフォーム、公開日)
  2. 自動化ツール(n8n、Make.com、またはAirtable)がシートから新しい行を読み取る
  3. Upload-Post APIがコンテンツを受け取り、SNSアカウントに配信

スプレッドシートにステータス「ready」の新しい行を追加すると、自動化がそれを拾い、動画とキャプションをAPIに送信し、選択したすべてのプラットフォームに配信し、行を「published」と投稿URLで更新します。すべてバックグラウンドで実行されます。

ステップ1: スプレッドシートの設定

以下の列を持つGoogle Sheetsを作成します:

A: タイトル B: キャプション C: 動画URL D: プラットフォーム E: 公開日 F: ステータス G: 投稿URL
サマーセールプロモ 今週全品50%オフ! https://drive.google.com/... tiktok, instagram, youtube 2025-09-22 10:00 ready
制作の舞台裏 私たちの製品ができるまで https://drive.google.com/... tiktok, instagram, linkedin 2025-09-23 12:00 pending

「動画URL」列には、公開されたGoogle Driveリンク、Dropboxリンク、またはその他の公開アクセス可能な動画ファイルのURLを入れます。自動化ツールがダウンロードしてAPIに渡します。

「ステータス」列が自動化のトリガーになります。コンテンツが承認されて配信する準備ができたら「ready」に設定します。アップロードが成功すると、ワークフローが「published」に変更します。

ステップ2: 自動化ツールを選ぶ

それぞれ強みの異なる3つの良い選択肢があります:

オプションA: n8n(完全なコントロールが必要な場合に推奨)

n8nはオープンソースの自動化ツールで、最も柔軟性があります。上で説明した内容をそのまま実行するテンプレートを用意しています:

どちらのテンプレートもn8nインスタンスにワンクリックでインポートでき、APIキーを入力するだけですぐに動きます。ワークフローの流れ:

  1. スケジュール(例: 毎時)または手動でトリガー
  2. ステータス = 「ready」の行をGoogle Sheetsから読み取ります。
  3. 各行のURLから動画をダウンロード
  4. シートのタイトル、キャプション、プラットフォーム情報とともにUpload-Post APIに送信
  5. 行のステータスを「published」に更新し、投稿URLを記録

その他のn8n自動化のアイデアは、n8nテンプレートライブラリをご覧ください。

オプションB: Make.com(既にMakeを使っているチーム向け)

Make.comはHTTPモジュールでGoogle SheetsをUpload-Post APIに接続します。流れは同じです:

  1. Google Sheetsモジュールが Status = 「ready」の行を監視
  2. HTTPモジュールが動画ファイルをダウンロード
  3. HTTPモジュールがhttps://api.upload-post.com/api/uploadにマルチパートフォームデータで送信
  4. Google Sheetsモジュールが行を結果で更新

HTTPモジュールの設定: Method = POST、Body Type = Multipart/form-data、カスタムヘッダーにAPIキーを設定します。プリビルトのシナリオはMake.comテンプレートをご確認ください。

オプションC: Airtable(SheetsよりAirtableを好むチーム向け)

既にAirtableを使っている場合は、Google Sheetsを省略できます。Airtableには、レコードの作成や更新をトリガーに実行できる内蔵のAutomationスクリプトがあります。Airtable連携ガイドで以下を設定する方法を解説しています:

  1. レコードのステータスが「ready」に変わったときにトリガー
  2. Upload-Post APIにコンテンツを送信するスクリプトを実行します。
  3. 結果でレコードを更新

ステップ3: Upload-Post APIコールの設定

どのツールを使う場合でも、APIコールは同じです。各スプレッドシート列のマッピングは以下の通りです:

スプレッドシート列 APIパラメータ 備考
タイトルtitle全プラットフォーム共通のキャプション
キャプションdescription詳細テキスト(YouTube、LinkedIn、Facebook用)
動画URLvideoURLまたはバイナリファイル
プラットフォームplatform[]カンマ区切りの文字列を配列に分割
公開日scheduled_dateISO-8601形式。空の場合は即時配信

参考用cURLサンプル

curl -X POST https://api.upload-post.com/api/upload \
  -H "認可: Apikey your-api-key-here" \
  -F "video=https://drive.google.com/uc?id=FILE_ID" \
  -F "user=mybrand" \
  -F "title=Summer sale promo" \
  -F "description=50% off everything this week!" \
  -F "platform[]=tiktok" \
  -F "platform[]=instagram" \
  -F "platform[]=youtube" \
  -F "scheduled_date=2025-09-22T10:00:00Z" \
  -F "timezone=America/New_York"

ファイルアップロードの代わりにURLで動画を渡せることに注目してください。Google Driveの共有リンクを含む、公開アクセス可能な動画リンクであれば何でも使用できます。

応用編: スプレッドシートからAI生成キャプション

シートの読み取りと投稿の間にAIステップを追加すれば、さらに進化させることができます。キャプションを手動で書く代わりに、スプレッドシートにはトピックや簡単なメモだけを入力し、LLMにプラットフォームに最適化されたキャプションを生成させます。

Google DriveからSNSへのAI説明文付きn8nテンプレートがまさにこの処理を行います。短い説明文を元に、Geminiが各プラットフォームに合わせたキャプションを生成します。

GPT-4で投稿を生成・スケジュールし、Telegramで承認するテンプレートもあります。AIの支援は欲しいけど、最終確認は人間が行いたいチームに最適です。

プラットフォーム固有のキャプションを追加する

プラットフォームごとに異なるキャプションを設定したい場合は、シートに「TikTokキャプション」「Instagramキャプション」などの列を追加します。それらをAPIのプラットフォーム固有パラメータにマッピングします:

  • tiktok_title: TikTok用のハッシュタグ付きキャプション
  • instagram_title: Instagram用のCTA付きキャプション
  • youtube_titleyoutube_description: YouTube用のSEOキーワード付きキャプション
  • linkedin_title: LinkedIn用のプロフェッショナルなトーンのキャプション

シートに追加する前に、各プラットフォームの文字数制限内に収まっているか文字数カウンターで確認してください。

スプレッドシートからの写真・カルーセル投稿

画像にも同じアプローチが使えます。単一の動画URL列の代わりに、複数の画像列またはカンマ区切りの画像URLリストを使用します。そして/api/upload_photosエンドポイントを使います:

curl -X POST https://api.upload-post.com/api/upload_photos \
  -H "認可: Apikey your-api-key-here" \
  -F "photos[][email protected]" \
  -F "photos[][email protected]" \
  -F "photos[][email protected]" \
  -F "user=mybrand" \
  -F "title=Our new collection" \
  -F "platform[]=instagram" \
  -F "platform[]=tiktok"

結果をスプレッドシートに記録する

APIがレスポンスを返した後、自動化ツールはスプレッドシートの行を以下の情報で更新する必要があります:

  • ステータスを「ready」から「published」(または失敗した場合は「failed」)に変更
  • 各プラットフォームの投稿URLを記録し、クリックして確認できるようにする
  • 投稿が公開された日時のタイムスタンプ

これにより、配信されたすべてのコンテンツの完全な監査証跡が1か所にまとまります。各プラットフォームのダッシュボードを個別にチェックする必要はありません。

よくある質問

Google Driveの動画を直接使用できますか?

はい。Upload-Post APIは動画URLを受け付けるので、Google Driveのファイルに直接リンクできます(共有設定を「リンクを知っている全員」にしてください)。n8nテンプレートはGoogle Drive認証を自動的に処理します。

あるプラットフォームでは成功し、別のプラットフォームで失敗した場合はどうなりますか?

APIレスポンスにはプラットフォームごとの個別結果が含まれます。自動化ツールはスプレッドシートを部分的な結果で更新でき、どのプラットフォームが成功し、どれが失敗したか(エラーメッセージ付き)を表示できます。

複数のチームメンバーが同じスプレッドシートを使えますか?

もちろんです。これがこのアプローチの最大のメリットの1つです。コンテンツチームが行を埋め、マネージャーが承認時にステータスを「ready」に変更し、自動化が配信を処理します。全員がリアルタイムでステータスを確認できます。

自動化はどのくらいの頻度で新しい行をチェックしますか?

n8nまたはMake.comで設定します。一般的な設定は15分ごと、1時間ごと、または固定の日次スケジュールです。n8nでは、手動トリガーやWebhookを使った即時処理も可能です。

スプレッドシートを配信エンジンに変えましょう

Google Sheetsで企画して、全プラットフォームに配信。無料のUpload-Postアカウントを作成して、数分でコンテンツカレンダーと連携できます。

クレジットカード不要。無料で10回のアップロード付き。