futabooo blog

色々手をつけすぎてすぐに忘れるので備忘録

自動化ツール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)ってなんて検索しづらいんだ、、、ほとんど日本語の情報出てこないですね。