LoginSignup
12

More than 5 years have passed since last update.

無料で為替レートを毎日取得しよう

Posted at

TL;DR

定期的(毎日10:00JST)に為替レートを取得して、slackに通知する方法を示す

  • 定期スクリプト実行にzapierを使用
  • 為替レート取得にYQLを利用
  • 通知先にslackを利用
    • (メール送信に変更可能)

各社で為替レート通知サービスはあるが・・

メインの取引サイトではサービスされてなかったり、別会社がやってても口座契約必須だったり、iOSアプリでも個別に通知してくれるものもあるけど、通知のだけのためにアプリ入れるのも心がザワザワする。ウェブで為替レート取得APIはあっても自前herokuしたりする規模でもないしな、という事でざっくりとzapierにまかせてみたら出来た。

意外とJavaScript(Pythonも実行できるらしい)を実行出来て、JSONで返ってくるなら勝手にパースもしてくれて、次のタスクに変数として引き継いでくれて・・結構使い勝手はいいかもねzapier、と思った。

図示して説明しようかと思ったけど、説明過剰になるので省くことにした。それにzapierの紹介ページでもないので、zapier本体のことについては、これも省略する。また、YQLについてももっとよく知ればたくさんできるようになるかもしれないけど、本記事とは関係ないので深追いしないことにした。

01. zapierのタスク構成

  1. Schedule by Zapier
  2. Code by Zapier
  3. Slack

01-01. Schedule by Zapier 設定

  • Every Day , 10am などに設定する。
  • [Profile]のTimeZoneを(GMT +9:00) Tokyoにしておく。

01-02. Code by Zapier 設定

Run JavaScriptで下記を記述

fetch('https://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.xchange%20where%20pair%20in%20("USDJPY")&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys')
  .then(function(res) {
    return res.json();
  })
  .then(function(json) {
    callback(null, json);
  })
  .catch(callback);

YQLの中身は下記(今回は、USDJPYだけ抽出する)

https://query.yahooapis.com/v1/public/yql?q=select * from yahoo.finance.xchange where pair in ("USDJPY")&format=json&env=store://datatables.org/alltableswithkeys

01-03. Slack 設定

チャンネルを指定して下記を指定

{{query__results__rate__Name}} = {{query__results__rate__Rate}}

結果は下記のようにメッセージが得られる

USD/JPY = 114.8200

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
12