スクリーンショット_2019-12-15_20

大人の自由研究(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の項目がわかれば、あとはスクリプト内で処理を入れれば良いことになります。ちなみ、JSONのデータ件数を確認するJSONListKeys関数で処理する件数の確認を忘れずに。

画像2

件数は0(ゼロ)からになるので、Loopする際には注意しましょう。次回は取得した時の動画と、ジャンルの取り方を説明しようと思っています。画面が適当するので、ちゃんとデザインしようかと思っています。




よろしければサポートをお願いします。頂いたサポートはAPIの周り調査や実験に使わせて頂きます。スピーカーの作成や、ホロスコープの依頼もあれば、メッセージをください。