Google スプレッドシート・ノードを使おう

Googleスプレッドシートはオンラインで表計算が行える強力なツールです。GASというスクリプト言語で自動処理することができますが、手軽にNode-REDのフローからデータを扱うこともできます。

そこで、今回は、Googleスプレッドシート・ノードの使い方をご案内します。

作りたいフローのイメージ

例えば、Googleスプレッドシートのデータをfunctionノードで処理して、メールする、というフローを考えます。

作りたいフロー

Emailノードの設定方法は別の記事に記載していますので、そちらをご覧ください。

API 認証の秘密鍵を取得

google Developers Consoleにアクセスし、新規プロジェクトを作成します。

プロジェクトの選択

任意のプロジェクト名を入力し、「作成」ボタンをクリックします。

新しいプロジェクト

スプレッドシートをAPI操作する為にgoogleサービスアカウントを作成します。
認証情報画面で「サービスアカウントを管理」にアクセスします。

認証情報

「サービスアカウント」でサービスアカウントを作成」ボタンをクリックします。

サービスアカウント

サービス アカウント名を入力し、「作成」ボタンをクリックします。

サービス アカウントの権限(オーナーなど)を選択し、「続行」ボタンをクリックします。

サービス アカウントの作成

作成したサービスアカウントに「鍵を作成」をクリックします。

鍵を作成

出てくるポップアップでJSONを選択し、「作成」をクリックします。
秘密鍵のjsonファイルが自動にダウンロードされます。

秘密鍵の作成(JSON)

 

作成したサービスアカウントのメールアドレス(少し長いです。)をテキストでコピーしておきます。

サービスアカウントのメール

スプレッドシートの設定

フローで利用するスプレッドシートの共有ボタンをクリックします。

Googleスプレッドシートの共有
共有ボタンは、Googleスプレッドシートの右上にあります。

「ユーザを追加」の欄に作成したユーザーアカウントのメールアドレスを入力し、作成したサービスアカウントにスプレッドシートを共有します。

他のユーザーと共有

 

GoogleスプレッドシートのURLに含まれる文字列がスプレッドシートを特定するIDです。

https://docs.google.com/spreadsheets/d/*****スプレッドシートID*****/edit#gid=0

また、Googleスプレッドシートノードで使用するシート名を覚えておきます。

GoogleスプレッドシートのシートID

ノードの設定

ノードのプロパティ画面でcredsの編集ボタンをクリックします。

先ほどの秘密鍵のjsonの内容をそのまま貼り付けます。「Update」ボタンをクリックします。

Methodは適切なものを選びます。例えば、セルの内容を取得したいときはGet Cellsを選択します。

gsheet-node methods

SpreadsheetIDに、先ほどサービスアカウントに共有したスプレッドシートのIDを入力します。

Cellsには、データを取得する範囲を指定します。全部のシートの内容を取得する場合はシート名だけを入力します。

右上のDoneをクリックします。

フローをデプロイして保存しましょう。

以上で、ノードを使用する準備が整いました。

まずはDebugノードで取得できるかどうかを確認しましょう。

enebular web flow editor

 

まとめ

今回は、Googleスプレッドシート・ノードを設定する方法をご紹介しました。ぜひ試してみてください。