読者です 読者をやめる 読者になる 読者になる

【Android】iTunes Search API 無料サンプルミュージックを聞こう

 

iTunesで無料サンプルミュージックを聞くことって多いですよね。

iTunesを使えばいいんですが、APIがあるので、

APIを使って、無料サンプルを聞けるアプリをつくってみます。

 

affiliate.itunes.apple.com

 

<完成品>

f:id:stanleyblenz:20161105013107p:plain

 

 

----------------------------------------------------------------------------------------------------------

簡単にご説明すると、以下の感じでHTTP通信をすれば、

無料サンプルミュージックの検索結果を取得できます。

結果はJSONで取得できます。

OkhttpなどでHTTP通信してください。

 

String url = "https://itunes.apple.com/search";
String opt1 = "?term=";
String opt2 = "&media=music&lang=ja_jp&country=JP&limit=";
url = url + opt1 + "検索ワード" + opt2 + 200;

OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()

  .url(url)
  .build();

Response response = client.newCall(request).execute();
String result = response.body().string();

JSONObject resJson = new JSONObject(result);
JSONArray items = resJson.getJSONArray("results");

int count = items.length();
for (int i = 0; i < count; i++) {
  JSONObject item = items.getJSONObject(i);
  String artistName = item.getString("artistName");

  String trackName = item.getString("trackName");
  String previewUrl = item.getString("previewUrl");

  String artworkUrl100 = item.getString("artworkUrl100");

 

<media>デフォルトの値は all

movie
podcast
music
musicVideo
audiobook
shortFilm
tvShow
software
ebook
all

 

<entity>mediaを指定した場合の詳細

movie           movieArtist, movie

podcast        podcastAuthor, podcast

music            musicArtist, musicTrack, album, musicVideo, mix, song

musicVideo  musicArtist, musicVideo

audiobook    audiobookAuthor, audiobook

shortFilm      shortFilmArtist, shortFilm

tvShow          tvEpisode, tvSeason

software        software, iPadSoftware, macSoftware

ebook            ebook

all                  movie, album, allArtist, podcast, musicVideo,

                      mix, audiobook, tvSeason, allTrack

 

<limit>

10
50
100
150
200

----------------------------------------------------------------------------------------------------------

 

返却値のJSONの中で以下を使用しています。

artistName   アーティスト名

trackName   トラック名

previewUrl    音源のUri

artworkUrl100  画像のUri