スプレッドシートからXに自動投稿する手順
前回の記事では、X(旧Twitter)のAPIを使うためのOAuth認証を取得し、テスト送信のワークフローを作成しました。
今回はその続きとして、Google スプレッドシートに書いた内容を n8n から読み込み、自動でXに投稿する方法を解説します。
この記事では、スクリーンショットを交えながら スプレッドシートの準備から n8n でのワークフロー構築、実際の自動投稿まで を初心者の方でも迷わず進められるように説明します。
まだ OAuth 認証を設定していない方は、先に「n8n入門:Xに自動投稿する② Xにテスト送信する」の記事をご覧ください。

スプレッドシートを準備
- 1.Googleスプレッドシートを開き、新規シートを作成する
- 2.A列に「id」、B列に「text」と入れて、投稿したい内容を入力する
例:
id | text |
---|---|
1 | テスト:n8nからの自動投稿です |
2 | テスト:n8nからの自動投稿です② |

GCPでOAuth 認証を設定
Google Sheetsをn8nから読み込むために、GCPで認証情報を作ります。
1.Google Cloud Console にログインする
2.利用規約などにチェックを入れて「同意して続行」をクリックする

3.「プロジェクトの選択」>「新しいプロジェクト」から新しいプロジェクトを作成する(名前は任意、例「n8n-automation」 場所は「組織なし」でOK)


4.左メニューから 「APIとサービス」>「有効なAPIとサービス」>「APIとサービスを有効にする」を選択する


5.検索窓に「Google Sheets API」を入力、出てきたAPIを選択し、「有効にする」をクリックする



7.n8nという外部アプリを使うことを同意させるOAuthという認証システムを使います
「APIとサービス」>「OAuth同意画面」をクリック。「開始」をクリックする


8.アプリ情報として「アプリ名」、「ユーザーサポートメール」を入力する

9.対象は「内部」あるいは「外部」を選択します。
Google Workspaceユーザーであれば「内部」を選択する。それ以外であれば「外部」を選択する。

10.「連絡先情報」を入力する。

11.「Google API サービス: ユーザーデータに関するポリシー に同意します」に「チェック」を入れ、「続行」をクリックする。
「作成」をクリックして終了する。

12.対象を「外部」とした場合は作成後、「対象」をクリックし、「+Add users」をクリックする。

13. 自分のアカウントのメールアドレスを入力し、「保存」をクリックする。

14. n8nがGoogleにアクセスすることを許可するためのクライアントIDとシークレットを作成します。
左メニューの「APIとサービス」>「認証情報」をクリックする。

15. 「+認証情報を作成」の横の▼をクリック、「OAuthクライアントID」を選択する。

16.アプリケーションの種類は「ウェブアプリケーション」、名前は適当なものを付ける。承認済みのリダイレクトURIの「+URIを追加」をクリックする。

17.n8nを立ち上げ、「Create Workflow」の右の▼をクリック、「Create Credential」をクリックする。

18. 「Google Sheets OAuth2 API」を選択し、「Continue」をクリックする。

19. 「OAuth Redirect URL」をコピーする。

20.先ほどのGoogleのRedirect URLに貼り付け、「作成」をクリックする。

21.表示された「クライアントID」と「クライアントシークレット」コピーする。

22. n8n側の「Client ID」と「Client Secret」に貼り付ける。

23. 下にある認証フローを実行する。「Sign in with Google」をクリックする。

24.「該当アカウント」を選択する。

25.Googleで確認されていませんと出るが、気にせず「続行」をクリックする。

26.「すべて選択」をクリック。下の「続行」をクリックする。

27.「Connection successful」が出たらOK。Google Sheets accountに「Account connected」が出ればOK


読み取り~投稿の最小ワークフロー
ここからはn8nで実際にフローを作っていきます。
- 1.Triggerは「On a schedule」を選択する(Trigger manuallyでもよい)。
- 設定はそのままでよい

- 2.「Action in an app」>「Google Sheets」>「Get row(s) in sheet」を選択する。



3. 「Get row(s) in sheet」について以下を入力する。
Credential to connect with:Google Sheets account
Resource:Sheet Within Document
Operation:Get Row(s)
Document:By ID シートURLの /d/◯◯/
の ◯◯ 部分を貼り付け
Sheet:By Name シート1(作成したシートのシート名)
「Execute step」を実行してすべての行を取得できればOK

- 5.「Data transformation」>「Limit」について以下を入力する。
- Max Items:1
- Keep:First Items
「Execute step」を実行して1行目が取得できればOK

- 6.「Action in an app」>「X(Formely Twitter)」>「Create Tweet」について以下を入力する。
Credential to connect with:X account - Resource:Tweet
- Operation:Create
- Text:
={{$json["text"]}}
(一つ前のLimitのtextをドラッグ&ドロップする)

- 「Execute step」を実行して X に投稿されれば OK。
まとめ
今回は、Google スプレッドシートに書いた内容を n8n を通じて X(旧Twitter)に自動投稿する方法を紹介しました。
ポイントは OAuth 認証を使うことで、自分の Google アカウントにログインして許可を与えるだけでスプレッドシートに安全に接続できる点です。
ワークフローの基本形は、
- Trigger で実行タイミングを決める
- Google Sheets ノードで投稿内容を読み込む
- X ノードで投稿を作成する
というシンプルな流れです。
さらに応用として、投稿が終わった行に「投稿済み」と印をつけておけば、翌日は未投稿の行だけが順番に処理され、毎日自動で新しい内容を投稿し続ける仕組みを作ることもできます。
OAuth を使えば設定は一度で済み、あとは n8n が裏で認証を更新してくれるので、安定して運用できます。この記事を参考に、自分専用の自動投稿システムを整えてみてください。
コメント