WEB/システム/IT技術ブログ

PHPのライブラリ「Spotify Web API PHP」でSpotify APIを動かしてみる

だいぶ遅れてますが、最近「Spotify」というサービスを知りまして、元々私が音楽好きなのもありまして、ハマっております。。。
音楽発見サービス – Spotify

そんな中、SpotifyのAPIを使った多くのサービスやアプリがある事を知り、少し触ってみたくなりました。

アカウント作成とデベロッパーサイトへのログイン

Spotify APIを使うためにはアカウントが必要です。それにはまず上記の公式サイトでアカウントを作成します。

アカウントを作成したら、デベロッパーサイトにアクセスしログインします。
Spotify for Developers
上記サイトのメニュー「DASHBOARD」をクリックし、「LOG IN」ボタンを押します。
ポップアップでログイン画面が開くので、そこにSpotifyのアカウント情報を入力してログインします。

初めてログインすると利用規約が表示されるので、同意します。
そうするとダッシュボード画面が表示されます。

アプリケーション登録

APIを使って何かを作る場合、まずはアプリケーションを登録し、キーを発行する必要があります。

ダッシュボードのパネル「CREATE AN APP」をクリックします。
するとモーダルが開き、アプリ名、アプリの概要、何を作るのかを尋ねられるので、回答して「NEXT」ボタンを押します。

次に商用として開発することを問われるので、今回は「NO」を選択します。

最後に、商用利用しないことについての利用規約への同意を求められるので、内容を確認後、チェックして「SUBMIT」ボタンを押します。

これでアプリケーション登録は完了です。

動作確認

今回はSpotifyの公式サイトでも紹介されているPHPライブラリ「Spotify Web API PHP」を使って、実際にAPIにアクセスしてみます。
GitHub – jwilsson/spotify-web-api-php: A PHP wrapper for Spotify’s Web API.

上記のサイトに参考に、composerを使ってライブラリをインストールします。

> composer require jwilsson/spotify-web-api-php

ライブラリをインストールした階層に、動作確認用のPHPファイル「index.php」を設置します。

require 'vendor/autoload.php';

$session = new SpotifyWebAPI\Session(
    'CLIENT_ID',
    'CLIENT_SECRET',
    'REDIRECT_URI'
);

$api = new SpotifyWebAPI\SpotifyWebAPI();

if (isset($_GET['code'])) {
    $session->requestAccessToken($_GET['code']);
    $api->setAccessToken($session->getAccessToken());

    print_r($api->me());
} else {
    $options = [
        'scope' => [
            'user-read-email',
        ],
    ];

    header('Location: ' . $session->getAuthorizeUrl($options));
    die();
}

「CLIENT_ID」、「CLIENT_SECRET」、「REDIRECT_URI」には、デベロッパーで登録したアプリ情報から取得します。

上記ファイルにアクセスすると、以下のようにアプリのユーザアカウント情報が取得できました。

stdClass Object
(
    [display_name] => (ユーザ名)
    [email] => (ユーザのメールアドレス)
    [external_urls] => stdClass Object
        (
            [spotify] => https://open.spotify.com/user/(ユーザID)
        )

    [followers] => stdClass Object
        (
            [href] => 
            [total] => 0
        )

    [href] => https://api.spotify.com/v1/users/(ユーザID)
    [id] => (ユーザID)
    [images] => Array
        (
        )

    [type] => user
    [uri] => spotify:user:(ユーザID)
)

APIは豊富で、いろんなことができそうです。
さて、何をしようかな。

B!

Comment

コメントはありません

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

Monthly Archives