알쓸코지
article thumbnail

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

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

 

나는 아티스트 정보 제공 기능을 담당하게 되어서 무료로 사용할 수 있으면서 한국 가수 정보가 많은 Spotify API를 사용해보기로 했다. 오늘은 Spotify API를 사용하기 위해 세팅하고 간단한 API 테스트까지 해보려고 한다!


1. Spotify API 사용 준비

1.1. App 생성하기

 

  • 이메일 인증 후 화면

 

  • App 정보 입력

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

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

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

 

  • App 생성 완료 후 화면

 

1.2. Key & Secret 확인

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

 

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

 

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

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

 

2.1. Access Token 발급받기

🔗 Access Token 요청 API  문서
<bash />
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

2.1.1. Response

 

2.2. 아티스트 정보 검색하기

🔗 search API 문서
<bash />
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 값

 

2.2.1. Response

 

 

3. 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

profile

알쓸코지

@chocoji

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