알쓸코지
article thumbnail

올해 처음으로 페스티벌을 다녀왔는데, 페스티벌 정보와 출연하는 가수 정보를 이곳저곳에서 확인하느라 불편했었다 😖

그래서 `페스티벌 정보 제공 서비스, hilarious`를 기획하게 되었고, 2인 프로젝트로 진행하게 되었다.

 

나는 아티스트 정보 제공 기능을 담당하게 되어서 무료로 사용할 수 있으면서 한국 가수 정보가 많은 Spotify API를 사용해보기로 했다.

오늘은 Spotify API를 사용하기 위해 세팅하고 간단한 API 테스트까지 해보려고 한다!


Spotify API 사용 준비

App 생성하기

 

  • 이메일 인증 후 화면

 

  • App 정보 입력

App을 생성할 때 `Spotify Products(Web API, Ads API, Web Playback SDK, iOS, Android)` 중에서 하나를 선택해야 하는데,
이 중에서 `Web API`와 `Web Playback SDK`에 대해서만 간단하게 정리해 보았다.

  • `Web API`: 음악 관련 메타데이터를 JSON 형식으로 제공한다.
    • 주요 기능
      • 음악(아티스트, 앨범, 쇼(팟캐스트) 등) 데이터 조회
      • Spotify 컨텐츠 검색
      • 사용자 정보 조회 및 관리(팔로워 수, 재생 목록, 최근 재생 곡 등)
      • 다양한 분석 데이터 제공(인기 트랙, 추천 곡, 오디오 특성 등)
  • `Web Playback SDK`: 웹 브라우저에서 직접 Spotify 음악을 재생할 수 있는 JavaScript SDK
    • 단, 사용자는 Spotify 프리미엄 구독 계정이 있어야 한다. 
    • 주요 기능
      • 음악 재생 제어(재생, 일시 정지, 건너뛰기 등)
      • 현재 재생 중인 트랙 및 재생 상태 정보 제공

➡️ 내가 원하는 것은 데이터 조회(아티스트, 대표곡 등)이었으므로 `Web API`를 선택했다.

 

  • App 생성 완료 후 화면

 

Key & Secret 확인

  • `Dashboard` ➡️ `생성한 App` ➡️ `Settings` ➡️ `Basic Information`

 

이렇게 Spotify API 사용을 위한 준비 끝!

 

Postman을 사용해서 Spotify API 테스트하기

프로젝트에 적용하기 전에 먼저 Client ID와 Client Secret을 사용해서 Access Token을 발급받고, 검색 API를 테스트해보자.

 

Access Token 발급받기

🔗 Access Token 요청 API  문서
curl -X POST "https://accounts.spotify.com/api/token" \
     -H "Content-Type: application/x-www-form-urlencoded" \
     -d "grant_type=client_credentials&client_id=your-client-id&client_secret=your-client-secret"
  • 요청 형식은 위와 같다. 이를 참고하여 Postman에서 다음과 같이 요청하면 된다.

 

POST https://accounts.spotify.com/api/token

  • `Authorization`
    • `Auth Type`: Basic Auth
    • `Username`: Client ID 값
    • `Password`: Client Secret 값

  • `Body`
    • `Key`: grant_type
    • `Value`: client_credentials

Response

 

아티스트 정보 검색하기

🔗 search API 문서
curl --request GET \
  --url 'https://api.spotify.com/v1/search?q=remaster%2520track%3ADoxy%2520artist%3AMiles%2520Davis&type=album' \
  --header 'Authorization: Bearer 1POdFZRZbvb...qqillRxMr2z'

 

GET https://api.spotify.com/v1/search

  • `q`: 검색어 (필수)
  • `type`: 유형 (필수)
    • album / artist / playlist / track / show / episode / audiobook 중 1개 이상 선택
  • `limit`: 최대 결과 수 (선택)

  • `Authorization`
    • `Bearer Token`: AccessToken 값

 

Response

 

 

Reference

[ Spotify 공식 문서 ]

Spotify 개발자 사이트 홈 - https://developer.spotify.com/

Spotify Web API - https://developer.spotify.com/documentation/web-api

Spotify search for API - https://developer.spotify.com/documentation/web-api/reference/search

 

 

[ Spotify App 생성 시 참고한 블로그 ] 

https://chaerim1001.tistory.com/51

https://velog.io/@jeo0534/Spotify-API-%EB%8B%A4%EB%A3%A8%EA%B8%B0

'Project > hilarious' 카테고리의 다른 글

[SpotifyAPI][1] 아티스트 정보 검색 API 만들기  (0) 2024.11.01
profile

알쓸코지

@chocoji

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!