n8nを使ってGoogle Sheetの内容をTwitterに投稿する(with WSL2)

n8n を使ってGoogle Sheetの内容をTwitterに投稿する(作業ログ)
ツイッターAPIとかGoogleのAPIとかの用意が必要なので、時間がかかる可能性があるかも。

WSLにnodeを入れる

(忘れた、apt-getだと最新版が落とせないので、一旦別パッケージ(n?)経由して入れた覚え)

WSLにdockerを入れる

https://bgt-48.blogspot.com/2019/06/windows10docker-on-wsl2.html を参考に実行

n8nのインストール・実行

公式に書いてある方法で実行するが、Webhookを使う関係でtunnel modeで実行する(参照)、http://localhost:5678 にアクセスして確認

docker run -it --rm \
	--name n8n \
	-p 5678:5678 \
	-v ~/.n8n:/home/node/.n8n \
	n8nio/n8n \
	n8n start --tunnel

workflowの設定

完成図

画像1

1. Webhookの設定

 ドキュメント はこれ。特に設定する項目はない。
 罠としては、ウェブフックのURLは デフォルトで折りたたまれているので、 「Webhooks URLs」をクリックして開く。

2. Google Sheetsの設定

2.1 Googleの認証設定
 ドキュメント
 2.1.1 「Google Cloud」 のアカウントを作る
 2.1.2 サービスアカウントを作る(参考)(OAuth認証でもいいかも)

2.2 Google Sheetの作成
 2.2.1 「Google Sheet」を作成
 2.2.2 内容の記載、テスト内容として以下のように書いた

画像2

2.3 ノードの設定
  2.3.1 「credentials」に 2.1で設定したものを選択する
  2.3.2 「Sheet ID」にGoogle SheetのSheet IDを入れる。Sheet IDはGoogle SheetのURLからわかる(「https://docs.google.com/spreadsheets/{Sheet ID}/edit」となっている)
  2.3.3 「Range」を「A1:B2」に

ここまでで「Execute Node」をすると、以下のように表示される

画像3

3. Twitterの設定

3.1 Twitterの認証作成
 3.1.1 TwitterDeveloperのアカウント作成(ちょっと大変)
 3.1.2 OAuth認証の設定(参照
 書き込み権限の渡し忘れに注意

3.2 ノードの設定
 3.2.1 「Twitter OAuth API」に3.1で作った認証情報を追加
 3.2.2 「Text」に適当な文字列を記入する

「Execute Node」でテスト実行、最初に実行する際、Twitterログイン画面・API許可のページが出てくるのでログイン・許可。以下のように投稿される。

画像5

4. ノードをつなげる

最初の図のように、矢印を Webhook→GoogleSheets→Twitterとつなげる。

Twitterの「Text」右の歯車→「Add Expression」を選択、出てきた画面で、左のカラムから「Nodes→Google Sheets→Output Data→JSON→text」と選ぶ。「Google Sheets」の実行結果が残っていない場合は選択できない点に注意(そのときは再度「Google Sheets」を単独(矢印を消して)実行するか、「Expression」に直接記載する。
正常に選べていると以下のようになる。

画像4

あとは保存した後「Execute Workflow」をして、テスト用のWebhookのURLを叩くと、Google Sheetsに記載された内容が投稿される。

5. Activateする

右上のスイッチからActivate。あとは 本番用のWebhookのURLを叩けば使用できる。

この記事が気に入ったらサポートをしてみませんか?