自動化ツールMake(旧Integromat)を使ってTwitterに#FitBoxing2の投稿をしたらPOST requestを作成する


FitBoxing2 の記録をつけたいなーと思い Zapier で最初やろうと思ったけど POST request するのに月 2 千円は払えないなぁと思ってしまったのでMake(旧 Integromat)を使ってやってみました。

全体像

今の所運用してるワークフローはこんな感じ。

大まかな流れ

  1. 15 分に 1 度 5 件ツイートを取得する
  2. #FitBoxing2 のハッシュタグがあるツイートは次のステップへ進む
  3. ツイート ID が Data store に保存されていなかったら次のステップへ進む
  4. Router で処理を 2 つに分岐させる
  5. 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 して記録するという流れを実装しています。

pixe.la

おわりに

これでフィットボクシングしたら Switch からツイートすることで消費カロリーの草を生やすことができるようになりました。

https://pixe.la/v1/users/futabooo/graphs/fitboxing2-kcal

それにしてもMake(旧 Integromat)ってなんて検索しづらいんだ、、、ほとんど日本語の情報出てこないですね。