- 動作確認日:2026-10-01
- n8nのバージョン:2.41.3(Docker、セルフホスト)
目次
この記事について
n8nで、Googleスプレッドシート・Gmail・Googleカレンダー・Googleドライブを使うワークフローを、実際に作って動かしました。その準備のしかた、つまずいたこと、作ったワークフローをまとめます。
準備:Google Cloudで1回だけやること
4つのサービスは、Google Cloudで作った 1つのOAuthクライアント を使い回せました。
- Google Cloud(https://console.cloud.google.com/ )でプロジェクトを作る
- 「APIとサービス」→「ライブラリ」で、使うAPIを有効にする(Google Sheets API、Gmail API、Google Calendar API、Google Drive API)
- 「OAuth同意画面」を作る(対象は「外部」)。「テストユーザー」に、ログインに使う自分のGoogleアカウントを足す
- 「認証情報」→「OAuthクライアントID」で、種類を「ウェブアプリケーション」にして作る。「承認済みのリダイレクトURI」に、n8nの認証情報の画面に出る「OAuth Redirect URL」を入れる(ローカルなら
http://localhost:5678/rest/oauth2-credential/callback) - できた Client ID と Client Secret を控える
準備:n8nでサービスごとにやること
n8nの「Credentials」で、サービスごとに認証情報を作ります。どれも、同じ Client ID と Client Secret を入れて、「Sign in with Google」を押します。
| サービス | n8nの認証情報の種類 |
|---|---|
| Googleスプレッドシート | Google Sheets OAuth2 API |
| Gmail | Gmail OAuth2 API |
| Googleカレンダー | Google Calendar OAuth2 API |
| Googleドライブ | Google Drive OAuth2 API |
「Sign in with Google」を押して、緑の「Account connected」になれば完了です。
つまずいたこと
| 表示されたこと | 原因と対処 |
|---|---|
| Googleのログイン画面で「エラー 401: invalid_client」 | Client IDが合っていなかった。Google Cloudからコピーし直した → 記事 |
| Google Sheetsノードで「Unable to sign without access token」 | 「Sign in with Google」が済んでいなかった → 記事 |
| Google Drive Triggerが、有効にしても動かない | 有効にし直したら動いた(原因は不明) → 記事 |
| シートの1行目に、関係ない列ができた | A1セルに文字が入っていた。消してから動かし直した |
同意画面が「テスト」のままだと、Googleとの接続が7日ほどで切れる、とGoogleでは説明されています。切れたときは、認証情報の画面で「Sign in with Google」を押し直してください。
作ったワークフロー
Googleスプレッドシート
- RSSの新着記事をGoogleスプレッドシートに記録する(URLが同じ行は上書き)
- Webhookで受け取ったデータをGoogleスプレッドシートに追記する(必須の項目がなければ400を返す)
- 天気予報(Open-Meteo)をGoogleスプレッドシートに毎日記録する(日付が同じ行は上書き)
- Telegramのボットに送ったメモをGoogleスプレッドシートに記録する
Gmail
- Gmailの受信メールを検索してGoogleスプレッドシートに記録する
- Googleスプレッドシートの一覧からGmailの下書きを作る(送信はしない)
- Gmailに特定のメールが届いたらSlackに通知する(Gmail Trigger)
Googleカレンダー
Googleドライブ
安心して試すために分けたもの
自分のGoogleアカウントの中身を、AIやワークフローに読ませることになるので、テスト用のものを分けました。
- カレンダー:テスト用に
n8nテストカレンダーを作り、そのIDだけを読む - Gmail:件名に
[n8nテスト]を入れたメールだけを検索する。送信者のアドレスは記録しない - Gmailの送信:送らずに、下書きを作るだけにする。宛先は
example.comにする - ドライブ:テスト用の
n8nテストフォルダだけを見張る - スプレッドシート:テスト用のファイルに、ワークフローごとにタブを分ける
