3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

[Postman]Spotify APIで今聞いている曲を取得する

Posted at

はじめに

Spotify APIを使ったプロジェクトのことはじめに、Postmanで今聞いている曲を取得するところまでをやってみました。

具体的な手順を前に、説明を後に書く形の記事なので、興味があれば最後まで読んでみてください。

前提

作業手順内では以下の内容についての説明を省略しています。
一応理解していなくても再現できるように書いていますが、理解を深めたい場合はご活用ください。

  • Spotify API

  • Postman

また、SpotifyとPostmanのアカウントが必要になる点に留意してください。

やってみる

APIアプリの作成

まずはSpotify for Developersのダッシュボードへログインします。

ログイン出来たら「CREATE AN APP」をクリック。

image.png

そしたら以下のようなフォームが出てくるので、内容を埋めていきます。

image.png

  • App name: アプリ名です。なんでもよし。
  • App description: アプリの説明。なんでもよい。
  • Website: 空で大丈夫です。
  • Redirect URI: 認証時にリダイレクトするURLです。とりあえずhttps://localhost:8080/callbackにでもしておきます。
  • Which API/SDKs are you planning to use?: 「APIを何に使うか」です。今回は「Web API」のみチェック。

image.png

全体が入力出来たら「Save」をクリック。アプリの作成が完了します。

image.png

IDとシークレットを取得

アプリには固有のclient_idclient_secretがあり、リクエストにこれを含めることでアプリを識別するようになっています。
これは後で使うので、メモしておきます。

アプリ画面を開き、「Settings」をクリック。
image.png

上部にある「Client ID」と「Client secret」をメモしておきます。

image.png

「Client secret」は「View client secret」をクリックすると表示します。

image.png

そしたらアプリ側での下準備は完了です。

Postmanでリクエストを作る

次はPostmanを操作していきます。

Postmanにログインしたら、左上の「新規」ボタンからリクエストを新規作成。

image.png

今回は「今聞いている曲を取得」するので、

  • HTTPリクエスト: GET
  • URL: https://api.spotify.com/v1/me/player/currently-playing

を入力しておきます(参考

image.png

そしたらリクエストの設定をしていきます。
「認証」タブをクリック。

image.png

Spotifyでは OAuth 2.0という認証フレームワークが使われています。なので、「タイプ」にOAuth 2.0を選択。

image.png

そしたら少し下にスクロールして、「新しいトークンの設定」というところから順に設定していきます。

image.png

  • トークン名: なんでもよい。
  • Grantタイプ: 認可コードにします。
  • コールバックURL: 「ブラウザーで認可する」にチェック。あとは後述。
  • 認可URL: https://accounts.spotify.com/authorizeを設定。
  • アクセストークンURL: https://accounts.spotify.com/api/tokenを設定。
  • クライアントID: さっきメモしたやつ。
  • クライアントシークレット: これもさっきメモしたやつ。
  • Scope: 「どのリソースにアクセスする権限が欲しいか」を書くところです。今回はuser-read-currently-playingと記入。(参考

ここまで設定出来たらひとまずOK...といきたいところですが、コールバックURLの設定がまだですね。

image.png

これは「認証に成功した後にリダイレクトするためのURL」で、 アプリ側で設定したコールバックURIと一致する必要があります。
今回はPostmanのデフォルトでhttps://oauth.pstmn.io/v1/callbackが設定されているので、これをSpotifyのアプリ側に設定します。

Spotifyのアプリ画面を開き、「Setting」から設定画面へ遷移。
ちょっと下に「Edit」ボタンがあるのでクリック。

image.png

そしたら「Redirect URIs」の項目にhttps://oauth.pstmn.io/v1/callbackを追加します。

image.png

最後に、一番下の「Save」ボタンを押すのをお忘れなく。

image.png

ここまで設定出来たら、いよいよトークンを取得します。
一番下の「新しいアクセストークンの取得」を押します。

image.png

初めての場合はSpotifyアカウントでの認証を求められる場合があるので、その場合はログインしてください。
問題なく認証出来たら、以下のような画面になります。

image.png

「Proceed」もしくは5秒間待つと、取得したアクセストークンのを表示します。

image.png

「Use Token」を押すことで、今回取得したトークンをリクエストのトークンとして設定できます。

image.png

リクエストを送信してみる

最後に、リクエストを送信してみましょう。
上の「送信」ボタンをクリックします。

image.png

そしたら、json形式でなにやらいろいろと送られてきますね。
ひとまず200 OKという表示が出ていれば成功しています。
image.png

送られてきたデータをよく見てみると、今聞いている曲のデータも含まれていますね。
(執筆時点でSrav3R氏のExtra No.3という曲を聴いていました)

image.png

image.png

メモ:Spotify APIの認証について

Spotify APIでは、OAuth 2.0という認証フレームワークが採用されています。

image.png

なんだか難しそうに感じますが、要するに

  1. アプリがユーザーに認証を要求する
    このとき、アプリ側は「どのデータにアクセスするよ」ということを伝える(以後スコープといいます)
  2. ユーザーがOKを出す
  3. Spotifyのサーバーから期限付きの 「リクエストトークン」 が渡される
  4. 取得したリクエストトークンを使ってデータにアクセスできるようになる

という一連の流れで認証してるかんじです。

おわりに

OAuth 2.0のようなちょっと凝った認証形式のAPIを触るのは初めてだったので、こういうのもあるんだな~と勉強になりました。
実装ではこの機能をバックエンドに組み込む必要があるので、その辺も追々まとめられたらと思います。

3
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?