Kung-Tunesおよび曲名リスト表示の仕方は省略します。
<用意するもの>
・Kung-Tunes
・AmazonアソシエイトID
・Amazonデベロッパー・トークン(Amazon WEBサービスを使用するために必要)
・NuSOAPのnusoap.php(このページから nusoap.php のみをダウンロードしてください)
・PHPの使えるサーバ
<STEP1>
Kung-Tunesの設定の変更。Preferenceのuploadの項目、真ん中らへんに書き出すファイルの名前を設定するNameと言うところがあるのでそ、この拡張子をphpに変更。(例:trackinfo.php)
<STEP2>
書き出すファイルのテンプレートを変更。メニューバーからFormatsを選択し、編集画面を出し、一番上の項目「Current template」の部分を適当に名前を付けて(例:php)、「add」ボタンを押します。これで新しいテンプレートが追加されたはずです。
<STEP3>
Formatsウインドウの上から2番目「Header」の部分を
<?php
require_once('nusoap.php');// nusoap.phpの読み込み
$soapclient = new soapclient("http://soap.amazon.co.jp/schemas3/AmazonWebServices.wsdl",true);// SOAP接続
$proxy = $soapclient->getProxy();
に書き換え。
<STEP4>
Formatsウインドウの上から3番目「Format for currently playing track」の部分を
$word = htmlspecialchars(stripslashes("^p+^a"));
$q = rawurlencode($word);
$params = array(
'keyword' => $q,
'page' => '1',
'mode' => 'music-jp',
'tag' => 'xxxx-22', //アソシエイトID
'devtag' => 'xxxxxxxxxxxx', //デベロッパー・トークン
'type' => 'lite',
'locale' => 'jp'
);
$result = $proxy->KeywordSearchRequest($params);
if (!$result['faultstring']) {
$items = $result['Details'][0];
$sakusya = $items['Artists'][0];
$html = "<a href=$items[Url] target=_blank><img src=$items[ImageUrlMedium] border=0 vspace=0><br /><div class='cat'><strong>^t</strong></div>#p by<strong>^p</strong><br />#p#a from [^a] #a</a>";//現在聴いている曲の表示フォーマット
}
else {
$html = "#k<img src=^k width=130 height=130 border=0 vspace=0><br />#k<div class='cat'><strong>^t</strong></div>#p by<strong>^p</strong><br />#p#a from [^a] #a</a>";
}
echo "<!--\n";
echo "document.write(\"";
echo $html;
※注意:ソース中のバックスラッシュ(\)が全角に化けています。これは半角でないとちゃんと動作しません!!OSX環境ならoptionキー+¥で入力されると思います。
赤い部分の上の方、アソシエイトIDとデベロッパー・トークンは自分の番号に変更してください。下の方は任意で変更してください。青くなってる$items[Url]はAmazonへのリンクアドレスが入り、$items[ImageUrlMedium]には画像のアドレスが入りますので、これを消すと画像表示がされなくなります。[ImageUrlMedium]の部分は画像の大きさを表していて、他には[ImageUrlSmall] と[ImageUrlLarge] があるので、3つのうちの好きな大きさを選んでください。
黄色の部分はmp3ファイルのコメント欄に画像のアドレスを入れておけば(例:http://www.xxx.com/images/xxx.jpg)、それが反映されて画像表示されるようになっています。必要ない場合やコメント欄に他の情報を入れてる方は黄色の部分ごと削除してください。
<STEP5>
Formatsウインドウの上から4番目「Format for recent tracks list」の部分
$word2 = htmlspecialchars(stripslashes("^p+^a"));
$q2 = rawurlencode($word2);
$params2 = array(
'keyword' => $q2,
'page' => '1',
'mode' => 'music-jp',
'tag' => 'xxxx-22', //アソシエイトID
'devtag' => 'xxxxxxxxxxxx', //デベロッパー・トークン
'type' => 'lite',
'locale' => 'jp'
);
$result2 = $proxy->KeywordSearchRequest($params2);
if (!$result2['faultstring']) {
$items2 = $result2['Details'][0];
$sakusya2 = $items2['Artists'][0];
$html = "<a href=$items2[Url] target=_blank><div class='cat'><strong>^t</strong></div><img src=$items2[ImageUrlSmall] border=0 vspace=0><br />#p by<strong>^p</strong><br />#p#a from [^a] #a</a>";
else {
$html = "<div class='cat'><strong>^t</strong></div>#k<img src=^k width=50 height=50 border=0 vspace=0><br />#k#p by<strong>^p</strong><br />#p#afrom [^a] #a</a>";
}
echo $html;
変更場所はSTEP4と同じです。
<STEP6>
Formatsウインドウの上から5番目「Inactivity message」の部分
echo "<!--\n";
echo "document.write(\"";
echo "<div class='cat'>iTunes is not playing anything now.</div>";
何も聴いていない時に表示されるメッセージ。赤の部分が実際表示される部分なので任意に変更してください。
<STEP7>
Formatsウインドウの一番下「Footer」の部分
echo "\" );\n";
echo "// -->";
?>
以上でKung-Tunesの設定は終わりです。
<STEP8>
nusoap.phpをトラックリストと同じ階層にアップロード。
後はリストを表示したい部分(例:MovableTypeのTopページだとテンプレートのMain Indexの部分)に、
<script language="javascript" type="text/javascript" src="http://www.xxxx.com/mt/trackinfo.php"></script>
を記述。赤い部分は自分の環境に合わせて書き換えてください。
<STEP9>
うまく表示されない場合、ブラウザで直接phpファイルを開いてみると原因が分かるかもしれないです。
ブラウザのアドレス欄に「http://www.xxxx.com/mt/trackinfo.php」等、アップロードしたphpファイルを直接指定して読み込みます。成功している場合はブラウザには何も表示されないと思いますが、ソースを見てみると表示されるリストが書き出されています。
ブラウザにParse error: parse error in /usr/xxx/xxx/trackinfo.php on line 4(数字)等と表示された時はその数字の行で文法エラーが出ているので、Kung-Tunesに入れたソースをもう一度見直してください。
以上で終わりです。ソースに無駄あるかもしれないですがいっぱいいっぱいなんで勘弁してくださいw
あと、これはAmazonへアーティスト名とアルバム名を送って検索してその検索結果を表示しているので、たまに違うものが表示されたりします。アーティスト名とアルバム名が同じ場合に違うアルバムが出てきたりします。それとコンピレーションの場合も探しきれないみたいです。
それと。Amazonに画像がない場合は当然ながら画像は表示されません。
<分かってる問題点>
アーティスト名やアルバム名にダブルクォート(")が入ってるとエラーになり何も表示されなくなるので適当に変更してください。
続きを隠す