Spotify Web APIを利用してニューアルバムのリリース情報を取得することができる。このニューリリース情報には、各アルバムの基本情報(アーティスト名、アルバム名、リリース日など)が含まれる。アルバム内の曲情報は含まれない。
下記は、Spotify Web APIを利用してニューリリース情報を取得するコードの例。
class SpotifyApiClient
{
private $rootEndpoint = 'https://api.spotify.com/v1/';
private $accessToken;
public function __construct($ACCESS_TOKEN)
{
$this->accessToken = $ACCESS_TOKEN;
}
public function get($path, array $queryParams)
{
$url = $this->rootEndpoint . $path;
if (!empty($queryParams))
$url .= '?' . http_build_query($queryParams);
$response = $this->execCurlGET($url);
sleep(1);
return json_decode($response, true);
}
private function execCurlGET($url)
{
$cmd = 'curl' .
" -H 'Authorization: Bearer {$this->accessToken}'" .
" '$url'";
echo "# $cmd\n";
return shell_exec($cmd);
}
}
$tokenFile = 'token_new.json';
$token = json_decode(file_get_contents($tokenFile), true);
$client = new SpotifyApiClient($token['access_token']);
$params = [
'country' => 'JP',
//'limit' => 1,
//'offset' => 1,
];
$response = $client->get('browse/new-releases', $params);
var_dump($response);
ニューリリース情報は、下記URL
https://api.spotify.com/v1/browse/new-releases
に対して、GETリクエストを行えば取得することができる。
オプションのクエリパラメータとして、country、limit、offset パラメータを指定することができる。
country パラメータには、2文字の国名コードを指定することができ、特定の国名コードを指定した場合、レスポンスとして返されるリリース情報をその国に関連するものに限定することができる。何も指定しない場合、全世界向けのニューリリース情報がレスポンスとして返される。上記のコードの例では JP(日本)を指定している。
limit パラメータは、レスポンスに含めるアルバム件数を指定するためのもので、デフォルト値は 20、最大値として 50 まで設定することができる。
offset パラメータは、結果のページネーションを行うためのもので、デフォルトでは 0 が設定され、最初の結果がレスポンスとして返される。以降の結果を取得していくには、この値を limit の値ずつインクリメントしていけば良い。例えば limit = 20 のとき、offset = 0 の次は offset = 20、その次は offset= 40 というようにインクリメントしていく。
APIリクエスト実行後、APIレスポンスの items キーにリクエストしたデータの本体であるニューリリース情報が保持されている。デフォルト(limit = 20)では、items キーに20件のアルバムの基本データ(詳細ではなく簡略版の情報)が含まれる。