mixne (Archived)

PCガジェットを中心とした、しおんが思ったこと、感じたことを書いています。

Zaim APIを使って、ちょっと便利を作る

毎月学食で使ったお昼ご飯代を親に請求しているのですが、毎度手計算するのは面倒。それに請求を忘れることもあるので、Zaim APIを用いて金額を計算しDiscordに通知するGASを書きました。

(1月はテスト以外で学校に行ってないだけで、別に飯抜いてるわけじゃないですw)

ぷろぐらむ

プログラム乗せようと思って見返したら変数名適当、処理も何となくで汚いコードだったので一旦なしで。気が向いたらGIstに書いて埋め込みます。

そもそもJSの基本文法が解れば書ける程度のコードなので、自分が公開する必要もないですし。

流れとしてはこんな感じ。

  1. Zaim APIでデータを取得
  2. 帰ってきたJSONをカテゴリーと日付でフィルタリング
  3. 金額を足す
  4. DiscordにWebhookで通知

単純ですね。

苦労したところは日付でのフィルタリングかな。結局フィルターではなくwhile文で先々月になるまでループさせる荒業です。綺麗なプログラムというかアルゴリズムを考えられるようになりたいなと思う次第です。良い勉強法があればコメントください。

ここまで完成したらトリガーを月初めの00:01あたりに実行するようにすれば完成です!

むすび

GASって便利ですよね。サーバーの用意は不要で、Googleのサービスにも簡単にアクセスできて非常に助かっています。 強いて言うなら、デフォルトだとGitで管理できない点やVS Codeが使えない点は少し不便です(そもそもGitを使いこなせないけど)。

APIでデータを取得して、JSONを整理するだけと簡単なので、月間の収支レポートなんかも通知してみようかなと思ってます。 他にも便利なAPIがあるようなので、活用したいです!