menu

永遠少年症候群

ブログ

年/カテゴリー/タグを組み合わせて絞り込みできます。

ブログ

お題ルール

自作発言とお題の再配布は禁止いたします。お題を使用していることを明記してくだい。
他のお題配布サイト様のお題と混ぜることはおやめください。
あいうえお作文からの抜き出しはご遠慮ください。

同意してお題ページへ

小説ページ

ファンタジー、恋愛要素、ハッピーエンド多め。たまに暴力やグロテスクな表現があります。
filterボタンで絞り込みができます。キーワードとシリーズは組み合わせることができません。

小説ページへ

目次


広告

【tasker】APIで取得した情報を表示しよう【KLWP】

概要

 ホーム画面に金属の相場を表示したいんですけどコードわかりませんという質問がきた。コードわからないなら、別のやり方を授けよう、というのが今回の記事。
 メールくれたら別のAPI付け足すので知りたいAPIがあれば連絡ください。無料のものに限り。

APIとは

 APIとは、なにかしらのデータを提供していいよーという会社や奇特な人が提供してくれるデータのことです。詳しくはググって。
 物騒な言葉が多いエンジニア界隈では、APIにアクセスして情報を取得することをAPIを叩くといいます。なんで
 APIの種類はいっぱいあって、超大手google様だけでめちゃめちゃある。その他、データを扱うような会社だと大抵APIがある。最近だと仕事でopenweathermapのAPIを使ってサイトに天気を表示するご当地サイトなんぞを作りました。

 で、あるわけですよ。貴金属の相場のAPIを提供してる会社が。Metals APIというAPI。

Freeを狙え

 まずは、APIキーを取得します。英語に負けずGet API keyしてください。
 名前、メールアドレス、パスワードを2回入力するとメールが届くのでメールで本人確認を済ませます。
 そうしたらダッシュボードにYour API access Keyとあります。この長い英数字の羅列が後々必要になるのでいつでもコピーできるようにしておいてください。
 他のAPIも大抵そんな感じ。

 APIキーとは、APIを叩く際に必要になることが多い鍵のことですね。キーが必要ないものもあります。
 大抵の場合はこのAPIキーにグレードがあってですね、有料プランに対して無料プランだと最低限のデータの取得しかできないとか、何度も取得できないとか、そういう制限がついていることが多い。とうぞくのかぎ/まほうのかぎ/さいごのかぎみたいなもんよ。
 で、今回は1日に1度APIを取得したいので月に50回しか叩けないfreeプランで対応できるというわけです。

Documentationを読む

 ここからはDocmentationを読めば、どういう風にAPIを叩けばどのように情報が返ってくるかがわかる。
 英語勉強してた人はそのままスラスラ読んで理解すればいいし、私みたいに英語わかんない人は「ここを真似しろってことやな」っていうところの周辺をgoogle翻訳にかければあとは文脈でなんとかなる。

 今回の場合、日本円での金と銀の相場は https://metals-api.com/api/latest?access_key=【さっき取得したAPIキー】&base=JPY&symbols=XAU,XAG でいけることがわかる。
 あとの貴金属はAvailable Symbolsのページで自分で探してみてほしい。少しでも自力でやってほしい。
 ちなみに1グラムあたりではなく1オンスあたりの価格だ。

TaskerでAPIを叩く

 APIはTaskerで受け取る。どうせ叩くのは1日に1回だけでないとリクエスト上限を超えてしまうのでTaskerのプロファイルで取得するタイミングも決めよう。
 Taskerのタスクでの指定の流れは下記の1~3になる。

  1. HTTPリクエストでGETする
  2. JavascriptでGETしたデータを整形する
  3. KLWPに変数を渡す


 HTTPリクエストでは、さきほどの https://metals-api.com/api/latest?access_key=【さっき取得したAPIキー】&base=JPY&symbols=XAU,XAGを入れます。APIキーをコピペしてください。
 整形するJSはこちら。1行目で整形、2行目で取得した数字を1オンスの金額から1グラムの金額を計算するため28.35で割っています。3行目でTasker内のグローバル変数をセット。4、5行目は計算とセットを繰り返し。追加する際は全角スペースなどが混ざらないように注意してください。

KLWPで変数をうけとる

  $br(tasker, gold)$で受け取る。

 これで1グラムあたりの大体の相場の価格が取得できます。買い取り価格くらいかな。

Do NOT follow this link or you will be banned from the site!