LoginSignup
0

More than 1 year has passed since last update.

【FileMaker】Rakuten Rapid API経由でCOVID-19情報を取得する

Posted at

今回は、いつもの商業ベースの情報ではなく、Rakuten Rapid APIから利用できるCOVID-19情報の取得についてのサンプルです。
世界中でまだまだ勢いの衰えないCOVID-19、世界中の「今」の状況を得るのにも、APIがたくさん紹介されています。

これらの情報は有料無料のものとたくさん公開されています。 これらの情報だけでなく、他のメディア等でも情報を取得し、多方向から正しい情報を得るようにしてください。

上記リンク先は直接のCOVID-19情報を得るAPIのページですが、この時点で24のAPIが公開されています。

では、早速実装してみましょう。

実装環境

FileMaker

curlとJSONを扱いますので、FileMaker ver.16以上で実装可能です。
それ以前のバージョンの場合は、何かしらのプラグインを活用して実装してみてください。
プラグインを利用した場合は、必ずしも今回の記事通りの実装では稼働しないかもしれない、ということをあらかじめご了承ください。

Rakuten Rapid API

アカウントを取得し、今回テストするAPIの利用を有効にしてください。
今回は、こちらのAPIです。
その名もズバリ、「COVID-19 data」APIです。
料金プランでBasicを選択すると、無料でテスト可能です。

テーブル設計

JSONでデータを得るだけであれば、特にフィールドを追加することはありませんが、情報の確認ということで表示するフィールドを追加します。
人の目で確認するときにわかりやすいように、計算フィールドでJSONFormatElementsを使った計算をしておきます。
スクリーンショット 2021-12-15 7.17.23.png

レイアウト設計

こちらも、今回は表示するだけなので、JSONFormatElements計算をした結果を表示するフィールドをペッと置いておきます。
スクリーンショット 2021-12-15 7.18.34.png

スクリプト実装

curl構文

curlの構文を見ていきましょう。
Rakuten Rapid APIのエンドポイントページのサンプルからcurl構文を確認します。
コードスニペットでShell > cURLの順に見ていくと、サンプルを表示できます。

curl --request GET \
    --url 'https://covid-19-data.p.rapidapi.com/country/code?code=jp' \
    --header 'x-rapidapi-host: covid-19-data.p.rapidapi.com' \
    --header 'x-rapidapi-key: <Rakuten Rapid API>'

COVID-19の状況を知りたい国のコードをURLのパラメータに指定するだけ、というシンプルな構文です。
国コードは、以下のページで確認できます。

スクリプト実装

URL から挿入を使い、curl構文を実装していきます。
スクリーンショット 2021-12-15 7.29.56.png

このスクリプトステップに、curl構文を分解して入れていきます。
シングルクォーテーションは、バックスラッシュ付きのダブルクォーテーションにして書き換えることを忘れずに。
スクリーンショット 2021-12-15 8.02.09.png

2行目は、APIを実行した結果をフィールドに保存しています。
適宜、エラーコードを取得するなどもいいと思います。

実行してみる

では、実行してみましょう。
サクッときましたね!
スクリーンショット 2021-12-15 8.05.43.png
JSONで返ってくるので、そのままFileMakerで処理できますね。
位置情報も取得できるので、地図にマッピングしたり、国別の感染者数等のグラフを作ったりということができますね。

まずは、COVID-19の情報を取得する、というAPIを紹介しました。

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
0