自動化ツールMake(旧Integromat)を使ってTwitterに#FitBoxing2の投稿をしたらPOST requestを作成する
FitBoxing2の記録をつけたいなーと思いZapierで最初やろうと思ったけどPOST requestするのに月2千円は払えないなぁと思ってしまったのでMake(旧Integromat)を使ってやってみました。
全体像
今の所運用してるワークフローはこんな感じ。
大まかな流れ
- 15分に1度5件ツイートを取得する
- #FitBoxing2のハッシュタグがあるツイートは次のステップへ進む
- ツイートIDがData storeに保存されていなかったら次のステップへ進む
- Routerで処理を2つに分岐させる
- 1つはData storeへツイートIDを保存する、もう一つはPOST requestを発行する
ツイートの取得
Zapierのようにツイートするごとにトリガーするようなものが無いので時間間隔を設定したり、特定の時間を指定したりしてトリガーを設定できます。
今回は15分に一回5件のツイートを取得するようなトリガーを設定しました。
またモジュール(Makeでは、丸いのがモジュール)間の点はフィルターが設定することができるので、次のステップへ進むのは画像つきで#FitBoxing2のハッシュタグ付きツイートだけというフィルターを設定しました。
Date storeにツイートIDが保存済みかどうか確認する
画像つきで#FitBoxing2ありのツイートだけ すでにPOST requestを作成したトリガーとなったツイートIDは最後にData storeへ保存しているので、そのIDが存在するかを確認しています。
ツイートIDが存在しなければ次のステップへ進みます。
Routerで処理を2つに分ける
未処理のツイートだったらData storeへのID保存をPOST requestの作成をやるようにRouterで処理を2つに分岐させています。
POST requestする
ツイートの画像URLとツイートした日時を特定のURLにPOSTします。 受け口はCloudRunを用意していてそこではCloudVisionAPIを使って消費消費カロリーを抽出、pxelaへPOSTして記録するという流れを実装しています。
おわりに
これでフィットボクシングしたらSwitchからツイートすることで消費カロリーの草を生やすことができるようになりました。
それにしてもMake(旧Integromat)ってなんて検索しづらいんだ、、、ほとんど日本語の情報出てこないですね。