【PHP】iTunes APIで音楽の試聴音源を取得する方法

iTunes APIを使って、Appleが提供している音楽の試聴音源を取得する方法です。

ストアで音楽を購入する時に30秒ほどの視聴ができると思いますが、その音源を取得できるものになります。iTunes Stroe関連のリンクのお供にぜひお使いください。

公式サイトはこちらです。
iTunes Search API – Partner Resources

iTunes APIで音楽の試聴音源を取得する方法

PHPでiTunes APIで音楽の試聴音源を取得していきます。まずは全体的なコードを一気に書いてみました。キーワードに関連した以下のようなかたまりが10件表示されるものになります。

iTunes APIは、シンプルに使わせてくれる親切設計なので、それほど難しくはないと思います。

コピー<?php
$json    = [];
$keyword = 'moumoon';

$base              = 'https://itunes.apple.com/search';
$params            = [];
$params['term']    = rawurlencode( $keyword );
$params['country'] = 'jp';
$params['media']   = 'music';
$params['entity']  = 'musicTrack';
$params['lang']    = 'ja_jp';
$params['limit']   = 10;

$request = '';
foreach ( $params as $k => $v ) {
	$request .= '&' . $k . '=' . $v;
}
$request = $base . '?' . substr( $request, 1 );
$json    = json_decode( file_get_contents( $request ), true );
?>
<?php
if ( isset( $json['results'] ) && count( $json['results'] ) > 0 ) :
	?>

	<?php
	foreach ( $json['results'] as $result ) :
		?>
<div class="itunes-preview">
	<div class="itunes-preview-info">
		<div class="itunes-preview-img">
			<img src="<?php echo $result['artworkUrl100']; ?>">
		</div>
		<div class="itunes-preview-body">
			<div class="itunes-preview-title"><?php echo $result['trackName']; ?></div>
			<div class="itunes-preview-artist"><?php echo $result['artistName']; ?></div>
			<div class="itunes-preview-price"><?php echo $result['trackPrice']; ?>円</div>
			<div class="itunes-preview-link"><a href="<?php echo $result['trackViewUrl']; ?>" target="_blank">iTunes からダウンロード</a></div>
		</div>
	</div>
	<div class="itunes-preview-audio"><audio src="<?php echo $result['previewUrl']; ?>" controls></audio></div>
	<div class="itunes-preview-provided">provided courtesy of iTunes</div>
</div><!-- /itunes-preview -->

		<?php
	endforeach;
	?>

	<?php
	else :
		?>
<p>コンテンツが見つかりませんでした</p>
		<?php
endif;
	?>

リクエストパラメーターを音楽だけに絞り込む

countrylangで日本。mediaで音楽。entityで個別の音楽。の指定を行っています。

limitで取得する件数。これは1から200まで指定が可能です。

そして、termが検索キーワード。この値はURLエンコードしてあげてください。

このようにパラメーターとして取得したい情報を付け加えてあげることで、iTunes APIから柔軟に結果を返してもらえるようになります。

指定できる全てのパラメーターは公式ドキュメントに掲載されているので、他の情報が欲しい場合はドキュメントを確認しつつカスタマイズしてみてください!
iTunes Search API – Partner Resources

アフィリエイト報酬を受取たい場合

上記のコードでiTunesへのリンクを取得できましたが、アフィリエイトリンクではなくただのリンクです。自身のアフィリエイト報酬を受取るためのタグを入れたい場合は、パラーメーターとしてatを追加してあげてください。

値として使うのは「パートナートークン」です。

パラメーターを作成する部分だけ抜粋すると以下のような感じになります。$params['at']の行を追加してあげてください。

コピー$params            = [];
$params['term']    = rawurlencode( $keyword );
$params['country'] = 'jp';
$params['media']   = 'music';
$params['entity']  = 'musicTrack';
$params['lang']    = 'ja_jp';
$params['limit']   = 10;
$params['at']      = '[ご自身のパートナートークン]';

CSSで見栄えを整える

この記事のコードで取得すると以下のようなHTMLタグで出力されます。各要素に対してitunes-previewクラスを当てているので、ご自身の好きなようにCSSを当ててデザインを適応してあげてください。

コピー<div class="itunes-preview">
	<div class="itunes-preview-info">
		<div class="itunes-preview-img">
			<img src="https://is2-ssl.mzstatic.com/image/thumb/Music/v4/28/4b/4d/284b4d42-9685-722a-17fc-94133f1bc1ef/source/100x100bb.jpg">
		</div>
		<div class="itunes-preview-body">
			<div class="itunes-preview-title">Sunshine Girl</div>
			<div class="itunes-preview-artist">moumoon</div>
			<div class="itunes-preview-price">200円</div>
			<div class="itunes-preview-link"><a href="https://music.apple.com/jp/album/sunshine-girl/380070803?i=380070870&uo=4&partnerId=11" target="_blank">iTunes からダウンロード</a></div>
		</div>
	</div>
	<div class="itunes-preview-audio"><audio src="https://audio-ssl.itunes.apple.com/itunes-assets/Music/v4/c9/4a/64/c94a6437-40e8-4605-31ef-8e9ae7a16d68/mzaf_664088345225297932.plus.aac.p.m4a" controls></audio></div>
	<div class="itunes-preview-provided">provided courtesy of iTunes</div>
</div><!-- /itunes-preview -->

おわり

iTunes APIで音楽の試聴音源を取得する方法でした。ドキュメントが英語ですが、一般的なWeb APIと使い方は変わらないので、他のWeb APIを使われたことがある方なら特に違和感なく利用できると思います。

ただ利用にあたって、あくまでもiTunesを通じての音楽のプロモーションが目的なので、iTunesへのリンクを貼らなったりコンテンツと関係なく音源だけ使う、みたいな使い方はしないようにしましょう…

このページが役に立ったら
いいね!お願いします

運営の励みになります...。

関連の記事