PythonでSpotify API [アルバム情報編]

前回の記事([とにかく使ってみる編](https://qiita.com/EkatoPgm/items/15f1a61bc2fe01c8a0c9))では、とりあえずAPI使って情報の取得ができるとこまでできたので、今度は狙った情報をガンガン取得していきたいと思います。

[APIのドキュメント](https://developer.spotify.com/documentation/web-api/reference/albums/get-album/)の1番上にあったので、アルバム情報を紐解いてみましょう。

サンプルがありましたがどうもこんなかんじの情報らしい。
ちょっとだけ「...」で省略してます。

```json
{
  "album_type" : "album",
  "artists" : [ {
    "external_urls" : {
      "spotify" : "https://open.spotify.com/artist/2BTZIqw0ntH9MvilQ3ewNY"
    },
    "href" : "https://api.spotify.com/v1/artists/2BTZIqw0ntH9MvilQ3ewNY",
    "id" : "2BTZIqw0ntH9MvilQ3ewNY",
    "name" : "Cyndi Lauper",
    "type" : "artist",
    "uri" : "spotify:artist:2BTZIqw0ntH9MvilQ3ewNY"
  } ],
  "available_markets" : [ "AD", "AR", ...],
  "copyrights" : [ {
    "text" : "(P) 2000 Sony Music Entertainment Inc.",
    "type" : "P"
  } ],
  "external_ids" : {
    "upc" : "5099749994324"
  },
  "external_urls" : {
    "spotify" : "https://open.spotify.com/album/0sNOF9WDwhWunNAHPD3Baj"
  },
  "genres" : [ ],
  "href" : "https://api.spotify.com/v1/albums/0sNOF9WDwhWunNAHPD3Baj",
  "id" : "0sNOF9WDwhWunNAHPD3Baj",
  "images" : [ {
    "height" : 640,
    "url" : "https://i.scdn.co/image/07c323340e03e25a8e5dd5b9a8ec72b69c50089d",
    "width" : 640
  }, 
  ...],
  "name" : "She's So Unusual",
  "popularity" : 39,
  "release_date" : "1983",
  "release_date_precision" : "year",
  "tracks" : {
    "href" : "https://api.spotify.com/v1/albums/0sNOF9WDwhWunNAHPD3Baj/tracks?offset=0&limit=50",
    "items" : [ {
      "artists" : [ {
        "external_urls" : {
          "spotify" : "https://open.spotify.com/artist/2BTZIqw0ntH9MvilQ3ewNY"
        },
        "href" : "https://api.spotify.com/v1/artists/2BTZIqw0ntH9MvilQ3ewNY",
        "id" : "2BTZIqw0ntH9MvilQ3ewNY",
        "name" : "Cyndi Lauper",
        "type" : "artist",
        "uri" : "spotify:artist:2BTZIqw0ntH9MvilQ3ewNY"
      } ],
      "available_markets" : [ "AD", "AR", ...],
      "disc_number" : 1,
      "duration_ms" : 305560,
      "explicit" : false,
      "external_urls" : {
        "spotify" : "https://open.spotify.com/track/3f9zqUnrnIq0LANhmnaF0V"
      },
      "href" : "https://api.spotify.com/v1/tracks/3f9zqUnrnIq0LANhmnaF0V",
      "id" : "3f9zqUnrnIq0LANhmnaF0V",
      "name" : "Money Changes Everything",
      "preview_url" : "https://p.scdn.co/mp3-preview/01bb2a6c9a89c05a4300aea427241b1719a26b06",
      "track_number" : 1,
      "type" : "track",
      "uri" : "spotify:track:3f9zqUnrnIq0LANhmnaF0V"
    }, {
      ...
    } ],
    "limit" : 50,
    "next" : null,
    "offset" : 0,
    "previous" : null,
    "total" : 13
  },
  "type" : "album",
  "uri" : "spotify:album:0sNOF9WDwhWunNAHPD3Baj"
}
```

なるほどわからん。
遊びで使う分に使えそうなものだけ説明しますね。
URLとか名前とか、見るからに明らかなものは除きます。


**album_type**
種類。`single`, `album`, `compilation`の3種類。

**artists**
アーティストですね。複数形だしリスト形式なので、一つのアルバムに対して複数のアーティストが関与している場合には複数の値が入る様子。
例をよくみてるとわかりますが、アーティスト情報は楽曲1曲1曲にもついてます。

このアーティスト情報は簡易化されたもので、詳細化されたものが別途取得できるみたいです。`artists`オブジェクトの中の`id`使って。

**available_markets**
えっ売ってる国わかるの？すごくない？どうやって調べるんだろ。
「ISO 3166-1 alpha-2 country code」のリストになってます。
アルファベット2文字で国を表したもので、日本なら`JP`、アメリカなら`US`とか。

**image**
いわゆるジャケット。サイズとURLのオブジェクトがリストになってる。

**popularity**
0〜100の人気度（であってるのかな）。
ドキュメントによると、アルバムの人気度は収録されてる曲それぞれの人気度から抽出してるみたいです。

**tracks**
収録曲のオブジェクトがリストになってます。`artists`同様簡易化されたものです。
album自体と同じような情報（名前や`id`、URLや`artists`）が入ってますね。

ディスク番号やアルバム内の曲番が入ってるのが、芸がこまけーなーって思います。
いやそりゃ必要ではあるでしょうけど。


今回はとりあえず、APIのドキュメントを読みながら記事におこしてみたってかんじです。
今度は、遊んでみて記事書いてみまーす。