IFTTTやZapierのように複数アプリを連携して自動化できる「n8n」で「RSSで取得したウェブサイトのタイトル&URLをGoogle スプレッドシートに出力する」というワークフローを組んでみた

無料&オープンソースで使える自動化サービス「n8n」を利用して、「GIGAZINEのRSSフィードから1日1回タイトルとURLを取得し、既存のGoogle スプレッドシートに出力する」という基本的なワークフローを構築してみました。
n8n.io - a powerful workflow automation tool
https://n8n.io/
GIGAZINEは以前にn8nを自サーバー上に構築しており、そのときの手順を記事化しています。n8nの導入方法を知りたい人はまず以下の記事をチェックしてください。
無料でIFTTTやZapierっぽく全自動連携できる「n8n」を自サーバー上に構築してみた - GIGAZINE

まずはn8nにアクセスして「Add Workflow」をクリックします。

次に中央の+アイコンをクリック。

「On a schedule」をクリックします。

トリガーの間隔が1日おきになっているのを確認して「Execute node」をクリック。

Back to canvasをクリックして前の画面に戻ります。

ノードの横の+アイコンをクリックし、検索ウィンドウに「RSS」と入力して「RSS Read」をクリック。

こんな画面が表示されるので、「URL」欄にRSSフィードのURLを入力します。

GIGAZINEのRSSフィードはトップページ右上のアイコンをクリックすることでアクセスできます。

n8nへ戻り、URLを入力して「Execute node」をクリック。

取得結果が右側に表示されたら成功。「Back to canvas」をクリックして前の画面に戻ります。

続いてGoogle スプレッドシートのノードを追加します。+アイコンをクリックして「Google Sheets」と検索し、出てきた「Google Sheet」をクリックします。

「既存のシートにデータを追加する」という仕組みにしたいので、「Apend data to a sheet」をクリック。

Google スプレッドシートを制御するための認証情報をn8nに登録する必要があります。まずは「Credential to connect with」をクリックし、「Create New Credential」をクリックします。

こんな感じの画面が表示されるので、「OAuth Redirect URL」をコピーしておきます。n8nでの作業はいったん保留し、次にGoogle Cloud Platform(GCP)にアクセスします。

GCPにアクセスしたら、「プロジェクトを作成」をクリック。

「プロジェクト名」に適当な名前を入れ、「組織」と「場所」は特に変更せず「作成」をクリック。

作成が終わったら通知されるので「プロジェクトを選択」をクリックします。

次に「APIとサービス」をクリックし、「OAuth 同意画面」をクリックします。

User Typeで「内部」を選択して「作成」をクリック。

「アプリ名」に適当な名前を入力し、「ユーザーサポートメール」に自分のメールアドレスを入力します。

ページをスクロールし、「デベロッパーの連絡先情報」にもう一度メールアドレスを入力したら「保存して次へ」をクリック。

「保存して次へ」をクリック。

次に「認証情報」をクリックします。

「認証情報を作成」から「OAuthクライアントID」をクリック。

「アプリケーションの種類」をクリック。

「ウェブアプリケーション」を選択します。

名前を適当に入力し、「承認済みのリダイレクトURI」の下にある「URIを追加」をクリック。

n8nでコピーした「OAuth Redirect URL」をペーストして「作成」をクリック。

「クライアントID」と「クライアントシークレット」の文字列をそれぞれコピーします。

n8nに戻り、クライアントIDを「Client ID」に、クライアントシークレットを「Client Secret」にそれぞれペーストします。2つの項目を埋めた時点で「Sign in with Google」というメニューが表示されるので、これをクリック。

GCPにアクセスしていたものと同じGoogleアカウントを選択します。

「許可」をクリック。

✕印をクリックして画面を閉じます。

再度GCPに戻り、今度は「有効なAPIとサービス」「APIとサービスの有効化」の順にクリックします。

検索ウィンドウに「google sheets api」と入力して出てくるものをクリック。

「Google Sheets API」をクリック。

「有効にする」をクリックします。これで認証作業はすべて完了です。

n8nに戻り、次はGoogle スプレッドシート関連の設定を進めていきます。「Document」から「By URL」をクリックします。

RSSから取得した情報を出力したいスプレッドシートのURLをコピーします。今回用意したのはこんな感じのスプレッドシート。A列にタイトル、B列にURLを出力させようと考えています。

n8nに戻り、「Document」にURLをペースト。次にその下の「Choose」をクリックします。

先ほどのスプレッドシートの内容が取得され、「シート1」という選択肢が表示されます。これをクリック。

続いて「Add Field」をクリック。

「Select」をクリックすると、スプレッドシート1行目のセルの内容が取得されて表示されます。今回は「タイトル」を選択。

画面左側にある「title」をドラッグして「Field Value」にドロップ。

パラメーターが自動で入力されます。もう一項目、URLの方も設定したいので、「Add Field」をもう一度クリック。

今度は「URL」を選択し、「link」のオブジェクトを「Field Value」にドラッグします。

この状態で「Execute node」をクリック。

ノードが実行され、画面右側に結果が表示されます。

Google スプレッドシートを見るとこんな感じ。ちゃんとA列にタイトル、B列にURLが入力されていました。

以上の手順で、「GIGAZINEのRSSフィードから1日1回タイトルとURLを取得し、既存のGoogle スプレッドシートに出力する」というワークフローが完成しました。

・関連記事
Zapierに文章を入力するだけでAIがワークフローを生成する新機能が登場、実際に試してみた - GIGAZINE
無料でIFTTTやZapierのようにアプリやサービスを連動させ自動化できる「Make」を実際に使ってみたよレビュー - GIGAZINE
無料でChrome・Firefoxの操作を自動化&ファイルのアップロードやデスクトップの操作もできる「UI.Vision」 - GIGAZINE
無料&連携サービス豊富なIFTTTやZapier代替のワークフロー自動化サービス「Zoho Flow」レビュー - GIGAZINE
・関連コンテンツ
in レビュー, ウェブアプリ, Posted by log1p_kr
You can read the machine translated English article I tried to build a workflow of 'outp….