[iOS]ショートカットアプリで住んでいる都道府県のコロナ感染者情報を取得してみるテスト

明日へのときめきを集め、ひとつにできたなら、街中にみんなの胸に、明るい虹の橋がかかるだろう。
iOSの風、しなやかな風、ハートで感じながら
iOSの夢、限りない夢、届ける風になろう。


iOS標準装備(なのかどうかは知らない)のショートカットアプリ使ってなんかやってみる講座第一弾です。

ショートカットアプリっていうのは、簡単にいうとiOSの様々な機能を組み合わせて作業を自動化するアプリです。自動化してくれるじゃないんですね。

僕たち自身で機能をパズルのように組み合わせていきます。

macOSには遥か太古より、Automatorなる名前で石版にも刻まれているとかいないとか。

↑ショートカットアプリ。

インストールはこちらから。→DLリンク


↑GPS機能を使って現在地の住所を取得するショートカットの例。

白い角丸四角形で囲まれたひとつひとつの機能はアクションと呼ばれます。

このアクションひとつひとつは独立していますが、その結果は変数保存されており(後述のマジック変数)、いつでもアクセスできるのでアクション間につながりを持たせることができます。

まあ細かいのは置いといてさっそく実践といきましょう。


じゃあ実践

まずおもむろにショートカットアプリを立ち上げます。

右下のショートカットを作成をクリック。

…ああ、もちろんタップでもいいんですよ。タップしてください。


するとこのような画面に遷移します。

この、え〜、上らへんにある色のついたマルから、呼び出す機能(アクション)を選ぶことができます。


都道府県別感染者データを取得

まずは右下の水色のWebをクリック。

…あーはいはい。タップね、わかったわかった。はいはいタップタップ。

そして、URLの見出しセクションにあるURLをタップ。

これね。

するとこのように、タイムライン(とでもしておこう)上にURLアクションが追加されました。


今回は、我が国における47都道府県別の感染者情報を取得することのできる
covid19-web-api
というものを利用して感染者情報を取得していきます。

テキスト入力欄(apple.comと表示された部分)に、以下のURLをコピーしてペー!



https://covid19-japan-web-api.now.sh/api//v1/prefectures


ほいだら次は、青丸の+マークを押して次のアクションを追加していきます。

1.Web→Webリクエスト→URLの内容を取得アクションを追加。


そしたら次はいったん、画面右下の▶ボタンをクリップしてみましょう。

すると…

何やら怪しげな文字列が…。

表示された文字列を注意深くながめていると、北海道の文字が。

文字列の表示された枠を左へ向けてスライドすると今度は青森、岩手、宮城、秋田、山形の順にとまります。この電車は、全席禁煙となっております。おタバコを吸われるお客様は、喫煙ルームをご利用ください。普通車の喫煙ルームは、3号車、7号車、15号車。グリーン車の喫煙ルームは、10号車にあります。


この文字列、47都道府県それぞれの感染者情報が記載されているjsonデータです。

洒落臭えのは抜きにして説明すると、実はExcelの表みたいなやつです。

ぱっと見ややこいけど、実はきれいにデータを取り出せるようになっています。


こやつらをうまくチョチョイとしちまえば、欲しいデータにありつけそうですね。

ということで次のアクションかもん。


取得した都道府県別データを分解

・スクリプティング→辞書→入力から辞書を取得アクションを追加。

追加できましたか?

こうすることで、さきほどのよくわからんややこい文字を、

このiPhoneできれいに丁寧にやさしくデータを取り出すことができるようになりました。


そして次。

・スクリプティ→リスト→リストから項目を取得

追加されたアクションには、

[辞書]から[最初の項目]を取得

って書いてあると思います。

辞書ってのは、さっきの感染者情報がのったデータたちのことです。

最初の項目とは、ここでは北海道のデータをいいます。なんでって、そういうふうに作られてるからよ。

ということは、最後の項目…それは、お察しの通り青山二丁目です。…じゃないね、沖縄だね。うん。

じゃあ僕たちの愛知は?どこ?愛知どこ?何番目?何番目?っていうか最初と最後しか取り出せんの?愛知のデータどこ?どこにある?

ほんとはメンドイんですが、先生は優しいのでここで都道府県とそれに対応するIDリストをここに出血大サービスで載っけます。


正解は、名古屋県のデータは23番目でした。

なので、

[最初の項目]をクリップして、[項目のインデックス]をクロレッツ。

[辞書]から[項目のインデックス]の[23]を取得

これで、先程の都道府県別データの23番目、つまり名古屋県のデータを取り出すことができました。


取得した味噌煮込みうどんから味噌を取り出す

エントロピーの増大にガンガン歯向かっていきましょう。ショートカットアプリで。

スクリプティ→辞書→辞書の値を取得アクションを追加。

ここで、さきほど出てきた文字列の集合体てきなやつをもう一度見てみましょう。

改行もなし、セル結合して中央揃え(核爆)もなし、そりゃ見づらいわけだ。

なのでカンマでセパタクローして改行してみる。

id:1
dea☆hs:103
name_ja:北海道
population:5248552


cases:1698
hospitalize:130

ふむふむ。population(人口)cases(感染者数)など載っておりますな。

タイムラインに戻ります。

[リストからの項目]内の[キー]の[]を取得

↑こうなってますな?言い換えるとこうです。


[名古屋県のデータ]内の[なんかの項目]の[]を取得


[リストからの項目]には、先ほど都道府県別データリストから、23番目を指定したので、すでに名古屋県のデータが格納されております。

つまりリストからの項目というのは、ここでは名古屋県のデータの別名ということです。

なんかの項目(=キー)というのは、さきほどのリストにあった、人口感染者数入院者数どれを指定する?というハナシです。

今回は感染者数指定してみましょう。なので、


[リストからの項目]内の[cases]の[]を取得
(casesはキーボードから入力)


と、してください。

そして、画面右下の▶ボタンをクリープ…すると、

でたようですな。これが、

名古屋県
昨日時点の(実行日はまだ1日が終わっていないので未集計)
感染者数(累計)

です。ショートカット講座第一弾はここまで。

画面右上の「次へ」タラッピングして、ショートカットの名前やアイコンを決めちゃってください。