음악 정보를 활용한 앱을 제작하려고
여러 음악 검색 API를 찾아보던 중, 우리나라의 대표적인 음원 사이트인 멜론에서는
언젠가부터 API를 지원해주지 않는다는 것을 알게 되었다.
그래서 주로 해외 API를 많이 찾아보았는데, 그중
Spotify, iTunes, ManiaDB(국내) 3가지만 정리해보려고 한다.
https://developer.spotify.com/
Home | Spotify for Developers
Music, meet code. Powerful APIs, SDKs and widgets for simple and advanced applications.
developer.spotify.com
스포티파이는 외국(스웨덴)에서 시작한 음원 서비스인 만큼 과거엔 거의 팝송 위주로 등록되어 있었다.
하지만 2021년, 한국에서도 스포티파이 서비스가 시작되어 점점 우리나라 곡도 많이 찾아볼 수 있게 되었다.
스포티파이 API를 사용하면 전 세계적인 방대한 음원 정보를 사용할 수 있다!
스포티파이 개발자 사이트에서
로그인 후 앱을 등록하기만 하면,
Client Id와 Client Secret 키를 활용해 음원 정보를 받아올 수 있다.
그런데 스포티파이 API에는 몇 가지 단점이 있는데
일단 호출 절차가 꽤나 복잡하다. (OAuth와 유사)
위 이미지처럼 앱에서 Client Id, Client Secret 를 통해 토큰을 요청하면,
서버에서 유효기간이 있는 토큰을 보내준다.
그 토큰을 받아서 다시 그 토큰으로 음원 정보를 요청하게 되면
이제 결괏값을 받을 수 있는 구조이다.
https://github.com/svkaka/SpotifyAlbumSearch
GitHub - svkaka/SpotifyAlbumSearch: Simple app that can search for albums on Spotify
Simple app that can search for albums on Spotify. Contribute to svkaka/SpotifyAlbumSearch development by creating an account on GitHub.
github.com
이 과정이 잘 정리되어 있는 프로젝트가 있다. 설명보다 직접 보는 것이 이해가 빠르다.
스포티파이 API를 사용하려는 분들은 위 프로젝트 또는
깃허브에 SpotifyApi 키워드로 검색하면 많이 나오니 참고하면 좋을 듯하다.
https://developer.spotify.com/terms/
Spotify Developer Terms | Spotify for Developers
Music, meet code. Powerful APIs, SDKs and widgets for simple and advanced applications.
developer.spotify.com
또한 기본적으로 스포티파이 API는 스포티파이와 연동하여 사용하도록 권장되어 있다.
약관이 다 영어라서 해석하기 힘들지만 간단히 요약하면
데이터를 따로 저장하거나 처리하면 안 되고, 스포티파이 로그인 기능을 구현하여 마치 스포티파이를 쓰는 것처럼 사용해야 한다..
또 한 가지 문제점으로는 비교적 최신곡들은 괜찮지만
옛날 한국 곡들은 대부분 제목이 영어로 등록되어있다.
원작자가 영어로 등록 신청해놓아서 그렇다는데 아마 해외 위주 서비스라 그런 듯하다.
결론적으로
정도로 요약할 수 있다.
iTunes Search API: Constructing Searches
developer.apple.com
ios 사용자들에게는 익숙할, iTunes에서도 음원 정보 API를 제공한다.
위 개발자 문서의 일부인데, 특이하게도 iTunes는 오픈 API를 지원한다.
문서에서 요구하는 대로 자신이 원하는 파라미터만 잘 입력하여 요청해주면,
별도의 Api Key가 없어도 음원 정보를 제공받을 수 있다!
심지어 음악뿐만 아니라 위와 같은 다양한 타입의 정보를 받을 수 있다.
하지만 안타깝게도 API 호출을 분당 20회 정도로 제한하고 있다.
그래서 테스트를 진행할 때는 사용할 수 있겠으나, 실제로 이 서비스를 사용해야 한다면 적절하지 않다.
https://affiliate.itunes.apple.com/resources/documentation/itunes-enterprise-partner-feed/
iTunes Enterprise Partner Feed
The Enterprise Partner Feed is a data feed of the complete set of metadata from Apple Music, Music downloads, and TV & Movies downloads,. It is available for performance partners to fully incorporate aspects of this content catalogs into a website or app.
affiliate.itunes.apple.com
제대로 사용하고 싶다면 EPF를 사용하면 된다는데, 언어의 장벽 때문에 쉽지 않다.
대략 보니 유료 서비스이다. 관심 있는 분은 참고해도 좋을듯하다.
결론적으로
정도로 요약할 수 있다.
maniadb.com - all that music
maniadb.com - all that music : artist profile, discography, and release album information
www.maniadb.com
위 사이트는 국내 서비스로 다양한 음악 정보들을 얻을 수 있다.
maniadb.com api
maniadb.com api
www.maniadb.com
별도의 개발자용 페이지도 존재한다.
잘 읽어보면 사용법, 약관 등을 쉽게 확인할 수 있다.
일단 최대 장점으로는 국내 서비스기 때문에 한글로 작성되어 있어 알아보기가 쉽다.
그리고 작성일(2022년 5월 4일) 기준으로 별도의 api key를 요구하지 않으며
본인의 이메일 형식으로 key를 사용하면 된다고 한다. 상업적 사용이 아니면 비교적 제약도 적은 편이다.
또한 작성일 기준 약 500만 개에 달하는 음원 정보를 제공한다.
결코 적은 양이 아니다.
다른 api와 다른 점으로는 결과 값이 XML 값으로 반환된다는 것이다.
안드로이드에서는 기본적으로 JSON 파일을 사용하기 때문에 별도의 파싱 작업이 필요하다.
https://github.com/HanYeop/ManiaDB-ApiTest
GitHub - HanYeop/ManiaDB-ApiTest
Contribute to HanYeop/ManiaDB-ApiTest development by creating an account on GitHub.
github.com
안드로이드에서 레트로핏을 활용하여 통신 결과를 받아오고, 파싱한 결과를 보여주는 과정은
위 프로젝트에서 확인할 수 있다.
결론적으로
정도로 요약할 수 있다.
간단히 3가지 종류만 살펴보았는데, 사용 용도에 따라
스포티파이 앱과 연동한 서비스를 개발하거나, 방대한 음원 정보(해외 위주)가 필요한 경우 스포티파이
음원뿐만 아니라 다양한 정보가 필요하거나, 테스트 코드를 작성할 때에는 iTunes
국내 음원 정보 위주 서비스 개발 시에는 ManiaDB
를 사용하는 것이 좋아 보인다.
내 블로그 - 관리자 홈 전환 |
Q
Q
|
---|---|
새 글 쓰기 |
W
W
|
글 수정 (권한 있는 경우) |
E
E
|
---|---|
댓글 영역으로 이동 |
C
C
|
이 페이지의 URL 복사 |
S
S
|
---|---|
맨 위로 이동 |
T
T
|
티스토리 홈 이동 |
H
H
|
단축키 안내 |
Shift + /
⇧ + /
|
* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.