大人の自由研究(2018)〜再びSpotify Web APIを叩く(其の3)
タイトル画像は取得したアルバムのURLですが、なぜか、Safariのブラウザは嫌われています。ということで本題に。今回はJSONから必要なデータを取得します。
JSON形式から必要なデータ確認する
データビューワーでAPIから返ってきたJSONを分析していき、albums.items以下で繰り替えされていることに気づきます。この部分が1レコード、つまり1アルバムの情報になることになります。
APIから送られてきたJSON
albums.items[0]
albums.items[1]
albums.items[2]
・
・
・
・
・
JSON形式は繰り返しで表示されるため一見すると、どこまでが情報の区切りかが分かりにくいのですが、データビューワーでJSONを扱うための関数である「JSONFormatElements」関数を使いながら中身を確認して行きます。
JSONの前半:
{
"album_type" : "single",
"artists" :
[
{
"external_urls":
{
"Spotify" : "https://xxxx.yyyy.zzzz"
}.
"href" : " "
"id" : "123456789ABCDFGH"
"name" : " "
"type" : " "
"uri" : " "
}
],
"available_markets" :
[
"AD",
"AE",
・
・
・
],
JSONの前半はアーティストに関する情報があることがわかります。ここでは、「external_urls.spotify」と「id」を取得しています。次に後半部分のJSONを見てみると、アルバムの情報が記載されていることがわかります。
JSONの後半:
"external_urls" :
{
"Spotify" : "https://xxxx "
},
"href" : "http://api.xxxxxx.xxxx ",
"id" : "12345678XYX",
"images" :
[
{
"height" : 640,
"url" : "https://xxx----- ",
"width" : 640
},
{
"height" : 300,
"url" : "https://xxx----- ",
"width" : 300
},
{
"height" : 64,
"url" : "https://xxx----- ",
"width" : 64
}
],
"name" : "Album Title",
"release_date" : "2019-12-13",
"release_date_precision" : "day",
"total_tracks" : "2",
"type" : "album",
"uri" : "Spotify:album:XXXXXXX "
}
今回は「external_urls」、「images」のサイズ違いのカバーアートのURL、そして、アルバムタイトルである「name」、リリース日の「release_date」を取得しています。
FileMakerでの処理の実例
データビューワーで確認し、取得した内容は下記の通りになります。
上記はわかりやすいように、対応するJSONで取得する際の記述も記載してあります。取り出すJSONの項目がわかれば、あとはスクリプト内で処理を入れれば良いことになります。ちなみ、JSONのデータ件数を確認するJSONListKeys関数で処理する件数の確認を忘れずに。
件数は0(ゼロ)からになるので、Loopする際には注意しましょう。次回は取得した時の動画と、ジャンルの取り方を説明しようと思っています。画面が適当するので、ちゃんとデザインしようかと思っています。
よろしければサポートをお願いします。頂いたサポートはAPIの周り調査や実験に使わせて頂きます。スピーカーの作成や、ホロスコープの依頼もあれば、メッセージをください。