今回は、いわゆるPublic APIを使った、一番シンプルなアプリ。Public APIとは「あらゆる外部の開発者や企業が利用できる一般公開されたAPI」( https://wakame-msds.com/ より)。では、APIとは、何か?適当にググれば説明は五万とあろうが、ここから。
要するに企業なりが持っているデータベースにアクセスして条件に合ったデータを取得するための仕組みと言えばいいのかな。
単純なものは別だが、どうしても複雑な構造のデータを扱いたくなるもので、このPublic APIは正に一筋縄ではいかない(いかなかった)。
今回は単純なものだが、例えば、こんな天気予報アプリもブロックを組み合わせれば作れる。これは作成途中のもの。今後、言語を選択して各国語(と言っても、日本語、英語、フランス語?)で表示できるようにしたい。
今回のアプリは、ボタンをクリックするとランダムに料理の写真が表示されるというもの。シンプル!
操作状況を示したYouTubeはこちらをクリック。
上記YouTubeとは若干異なるが、取得するデータのデコード方法によりその結果が若干異なることを実証するため若干プログラムを変更。その画面は以下の通り。
ウエッブサイトは、https://foodish-api.com/
APIは、https://foodish-api.com/api/
このAPIのJSONデータは、
{
"image":"https://foodish-api.com/images/pasta/pasta30.jpg"
}
ブロック(プログラム)は以下の通りで、dictionary型でのデコードとlist型でのデコードをそれぞれ確認できるようにしている。(1) はdictionary型、(2)はList型でそれぞれデコードしている。
その結果、上の画面イメージではわかりにくいが、拡大表示すると以下のように2通りのデコードを表示させている。
プログラム(ブロック)では、(1)のdictionary型でのデコードを採用している。
dictionary型の場合は、キー(「image」)とペアーとなっている値を取得するだけでよい。
一方、List型のデコードを使えば、ブロック数もわずかだが多くなる。Listの中の1番目(一つしかないが)のListの中の2番目の値(画像のURL)を取得することになる。