올해 처음으로 페스티벌을 다녀왔는데, 페스티벌 정보와 출연하는 가수 정보를 이곳저곳에서 확인하느라 불편했었다 😖
그래서 `페스티벌 정보 제공 서비스, hilarious`를 기획하게 되었고, 2인 프로젝트로 진행하게 되었다.
나는 아티스트 정보 제공 기능을 담당하게 되어서 무료로 사용할 수 있으면서 한국 가수 정보가 많은 Spotify API를 사용해보기로 했다.
오늘은 Spotify API를 사용하기 위해 세팅하고 간단한 API 테스트까지 해보려고 한다!
Spotify API 사용 준비
App 생성하기
- https://developer.spotify.com/ 접속 후 계정 생성 ➡️ `프로필` ➡️ `Dashboard`
- 이메일 인증 후 화면
- 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 |
---|