0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ローコードツール"n8n"でGoogleフォームを使ってみた

Last updated at Posted at 2024-04-28

はじめに

n8n.とは

n8n(エヌ・エイト・エヌ)は、異なるアプリケーション間でデータのやり取りを自動化するオープンソースのワークフロー自動化ツールです。ビジュアルインターフェースを使用してAPIや外部サービスと簡単に連携できます。

やりたいこと

  1. Googleフォームからファイルがアップロードされる
  2. リンクされているスプレッドシートが更新される
  3. アップロードされたCSVファイルを読み込む

Googleフォームとスプレッドシートの作成

事前準備として、Googleフォームとスプレッドシートを作成する

Googleフォームの作成

フォルダの作成

Googleドライブを開き、+新規から新しいフォルダを作成
スクリーンショット 2024-04-27 053340.png

Googleフォームの作成

作成したフォルダに移動し、+新規から Google フォームをクリック

Googleフォームの編集

赤枠部分を変更します
スクリーンショット 2024-04-27 054140.png

スプレッドシートを作成

上タブの回答を選択し、スプレッドシートにリンクをクリック
スクリーンショット 2024-04-27 054346.png

新しいスプレッドシートを作成を選択し作成
スクリーンショット 2024-04-27 054603.png

作成されたスプレッドシートが表示される
シート横の+をクリックし、追加で転記シートを作成する
スクリーンショット 2024-04-28 102852.png

確認

作成したフォルダに以下のファイルが作成されているのが確認できる
スクリーンショット 2024-04-27 055338.png

Googleフォームからアップロードしてみる

プレビューを開く

Googleフォームの画面上部右側のプレビューアイコンをクリック
スクリーンショット 2024-04-28 051712.png

ファイルを追加

  1. ファイルを追加をクリック
    スクリーンショット 2024-04-28 051947.png

csvファイルを追加
適当なcsvファイルもしくはサンプル.csvをダウンロードして使用してください

送信
スクリーンショット 2024-04-28 054009.png

リンクしたスプレッドシートにアップロードデータが入力される
スクリーンショット 2024-04-28 054155.png

登録

事前準備が完了したので、n8nの登録から始めます

n8nの公式ウェブサイト にアクセス

スクリーンショット 2024-04-27 045347.png

アカウントを作成する

必要事項を入力する

スクリーンショット 2024-04-27 050127.png

表示される質問に答える

スクリーンショット 2024-04-27 050440.png

連携するアプリケーションを選択

今回は「Google Sheets」「Gmail」「Google Drive」を選択
スクリーンショット 2024-04-27 050728.png

メンバーを設定

個人開発のため、Skipを選択
スクリーンショット 2024-04-27 050950.png

登録完了

Start automatingを押します。
スクリーンショット 2024-04-27 051228.png

ワークフロー作成

n8nのワークフローを作成していく

トリガーをノードを作成する

トリガーとなるワークフローを選択

Add first step...->googlesheetsと検索し、選択
スクリーンショット 2024-04-27 060059.png

トリガーの条件を選択

今回はOn Row Added Or Updated(行の追加か更新が行われたら)を選択
スクリーンショット 2024-04-27 060204.png

認証情報を設定

認証情報を作成

Google Sheets Triggerの画面が開くので、Select Credentialをクリックし、- Create New Credential-を選択
スクリーンショット 2024-04-27 061046.png

Client ID Client Secretを入力する

OAuth同意画面が表示されるので、Client IDClient Secretを入力する

 ※ OAuth Redirect URLは、GoogleCloudPlatformの設定で使用します。
スクリーンショット 2024-04-28 032356.png

認証

Client IDClient Secretを入力するとSign in with Googleボタンが表示されるので、クリック
スクリーンショット 2024-04-28 041718.png

アカウント選択
スクリーンショット 2024-04-28 042536.png

アプリへのアクセスを許可
続行をクリック
スクリーンショット 2024-04-28 042720.png

アクセス権を選択
すべて選択し、続行をクリック
スクリーンショット 2024-04-28 042812.png

接続成功
接続成功すれば、画面上部にAccount connectedと表示される
スクリーンショット 2024-04-28 044509.png

DocumentSheetの選択

認証接続が成功しており、必要なAPIを有効にしていれば、DocumentSheetは事前準備で作成したフォルダとスプレッドシートが選択できる
スクリーンショット 2024-04-28 050007.png

選択後、Fetch Test Eventをクリック
接続が上手く行けば、右側に取得したデータが表示される
スクリーンショット 2024-04-28 055005.png
canvasにノードが追加されている
スクリーンショット 2024-04-28 100858.png

新しいノードを設定する

同じスプレッドシート内にシートを追加するノードを作成する

ノードの追加

Google Sheets Triggerの右につながっている+をクリック
スクリーンショット 2024-04-28 101119.png

Google Sheets Triggerを追加したときと同じように、googlesheetsを検索し、クリック
スクリーンショット 2024-04-28 101511.png

アクションを選択する
今回はAppend or update row in sheet(行を追加or更新)を選択
スクリーンショット 2024-04-28 112025.png

ドキュメントを設定する
※ 今回は転記シートを選択
スクリーンショット 2024-04-28 112324.png

Mapptin Column ModeColumn to Match Onを設定する
今回はそれぞれMap Automatically(自動マッピング)、タイムスタンプに設定し、Test stepをクリック
スクリーンショット 2024-04-28 113013.png

OUTPUTに取得したデータが表示されれば成功
スクリーンショット 2024-04-28 113243.png

スプレッドシートを確認すると、転記シートにちゃんと入力されています
スクリーンショット 2024-04-28 114439.png

saveをクリックして保存します
スクリーンショット 2024-04-28 110222 - コピー.png

ワークフローの作成はこれで終了です

動作確認

実際にGoogleフォームでファイルがアップロードされれば、転記シートが更新されるのか確認します。

ワークフローをAcriveにする

Inactiveをクリック
スクリーンショット 2024-04-28 110445.png

Got itをクリック
スクリーンショット 2024-04-28 110358.png

Activeになりました
スクリーンショット 2024-04-28 110728.png

これで、Googleフォームでアップロードされたら動作するようになりました

Googleフォームでアップロードする

Googleフォームのプレビュー画面を表示し、csvファイルをアップロード
スクリーンショット 2024-04-28 054009.png

フォームの回答1シートが更新され...
スクリーンショット 2024-04-28 114920.png

少し時間がかかって...
転記シートが更新されました
※ 自動で追加されたrow_number change_typeは気にしないでください
スクリーンショット 2024-04-28 115114.png

これで動作確認ができました

最後に

n8nを使って、Googleフォームからアップロードされたデータをスプレッドシートに転記することができました。
基本的な動作は理解できたので、csvの中身を取得するなど応用的な動作も試してみたいと思います。

参考記事

最初は以下の記事で実装することができました。ありがとうございます。

※ 以下はGoogleCloudPlatformの説明です。

GoogleCloudPlatformの設定

GoogleCloudPlatform のサイトに移動し、Gmailアカウントでログインします。利用規則の同意が求められたら、同意して続行してください
スクリーンショット 2024-04-27 094614.png

プロジェクトの作成

GoogleColudPlatformはプロジェクトという単位で管理しているので、最初にプロジェクトの作成が必要です

プロジェクト作成

プロジェクトの選択 -> 新しいプロジェクト をクリック
スクリーンショット 2024-04-27 095042.png

変更の必要はないので、そのまま作成をクリック
スクリーンショット 2024-04-27 095347.png

OAuth同意画面の設定

OAuth同意画面を開く

APIとサービス -> OAuth同意画面 をクリック
スクリーンショット 2024-04-27 095823.png

OAuth同意画面作成

外部 を選択し、作成 をクリック
スクリーンショット 2024-04-27 100025.png

アプリ登録の編集[OAuth同意画面]

下記必須項目を入力して、保存して次へ をクリック

  • アプリ名:自由
  • ユーザーサポートメール:ログインしているGmail
  • デベロッパーの連絡先情報:ログインしているGmail
    スクリーンショット 2024-04-27 103047.png

アプリ登録の編集[スコープ]

変更せずそのまま保存して次へ をクリック
スクリーンショット 2024-04-27 103333.png

アプリ登録の編集[テストユーザー]

  1. +ADD USERS をクリック
    スクリーンショット 2024-04-27 105747.png

ログインしているGmailを入力します
スクリーンショット 2024-04-27 105928.png

保存して次へ をクリック
スクリーンショット 2024-04-27 110258.png

アプリ登録の編集[概要の画面表示]

以下の概要画面が表示されたらOAuth同意画面の登録は完了です
スクリーンショット 2024-04-27 110518.png

認証情報を作成

OAuthクライアントID作成画面を表示する

画面左メニューの認証情報->+認証情報を作成->OAuthクライアントIDをクリック
スクリーンショット 2024-04-27 120217.png

OAuthクライアントIDを作成する

下記を設定し、作成をクリック
- アプリケーションの種類:ウェブアプリケーション
- 名前:自由
承認済みのリダイレクトURI:n8nのOAuthRedirect URL
スクリーンショット 2024-04-27 120643.png

作成完了
作成されたクライアントIDクライアントシークレットをn8nのCredential(認証情報)に入力します
スクリーンショット 2024-04-27 125327.png

クライアントIDクライアントシークレットは、画面左メニューAPIとサービス->認証情報からも確認できます
スクリーンショット 2024-04-28 041121.png

操作するサービス(API)を選択する

APIライブラリ から API を有効にする

  1. 画面左メニューのライブラリをクリック
    スクリーンショット 2024-04-27 130043.png

操作したいAPIを検索する
今回はGoogle Drive API Gmail API Google Sheets APIを有効にします
image.png

有効にするをクリック
image.png

API/サービスの詳細画面に自動で遷移すれば完了です
image.png

続けてGmail APIGoogle Sheets APIを有効にする

以上でGoogle Cloud Platformの設定は完了です

ワークフロー作成に戻る

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?