0

私は Last.FM API を使用しており、このパッケージを使用していますhttp://www.last.fm/api/show/album.getInfo

私はグーグルでSOなどを検索しましたが、誰もこの問題を抱えていないようです...奇妙なことに...

ドキュメントに従って、トラックのリストを取得する必要があります。いいえ。なだ。データが戻ってくるので、API 呼び出しは機能しています。私のアプリはブラックリストに登録されていません。他はすべて last.fm から取得できますが、トラックがありません...その他はすべて説明どおりです。- これが私の呼び出しの var_dump() です:

array(10) {
  ["name"]=>
  string(15) "All Hallow's EP"
  ["artist"]=>
  string(3) "AFI"
  ["lastfmid"]=>
  string(7) "2027169"
  ["mbid"]=>
  string(0) ""
  ["url"]=>
  string(46) "http://www.last.fm/music/AFI/All+Hallow%27s+EP"
  ["releasedate"]=>
  bool(false)
  ["image"]=>
  array(3) {
    ["small"]=>
    string(50) "http://userserve-ak.last.fm/serve/34s/35949507.png"
    ["medium"]=>
    string(50) "http://userserve-ak.last.fm/serve/64s/35949507.png"
    ["large"]=>
    string(51) "http://userserve-ak.last.fm/serve/174s/35949507.png"
  }
  ["listeners"]=>
  string(5) "47506"
  ["playcount"]=>
  string(6) "316093"
  ["toptags"]=>
  array(5) {
    [0]=>
    array(2) {
      ["name"]=>
      string(4) "punk"
      ["url"]=>
      string(27) "http://www.last.fm/tag/punk"
    }
    [1]=>
    array(2) {
      ["name"]=>
      string(12) "albums i own"
      ["url"]=>
      string(39) "http://www.last.fm/tag/albums%20i%20own"
    }
    [2]=>
    array(2) {
      ["name"]=>
      string(9) "punk rock"
      ["url"]=>
      string(34) "http://www.last.fm/tag/punk%20rock"
    }
    [3]=>
    array(2) {
      ["name"]=>
      string(13) "hardcore punk"
      ["url"]=>
      string(38) "http://www.last.fm/tag/hardcore%20punk"
    }
    [4]=>
    array(2) {
      ["name"]=>
      string(3) "afi"
      ["url"]=>
      string(26) "http://www.last.fm/tag/afi"
    }
  }
}

はい、私は別のアルバムでこれを試しましたが、最後の fm にはトラックがあることがわかっています.... (このアルバム: http://www.last.fm/music/AFI/All+Hallow%27s+EP ) ...でも1 つの stremable トラック。

Last.FM はアルバムの getInfo() の結果を変更し、ドキュメントを更新しなかったのでしょうか? 何か不足していますか?必要なすべてのパラメーターを呼び出しに渡しています。

基本的に、私の質問は次のとおりだと思います。他の誰かが同じ問題を抱えていますか、それとも私だけですか?

4

2 に答える 2

0

YOO みんな、わかったよ。使用している API は完全ではありません。

album.php と function getInfo($methodVars); を見てください。トラックが戻り変数に割り当てられていないことがわかります。

134 行目あたりに次のコードを追加しました。

        $i = 0;
        foreach ( $call->album->tracks->track as $track ) {
            $info['tracks'][$i]['name'] = (string) $track->name;
            $info['tracks'][$i]['rank'] =(string)$track['rank'][0];
            $info['tracks'][$i]['duration'] = (string) $track->duration;
            $i++;
        }

お役に立てれば。

于 2014-02-12T14:43:49.067 に答える
0

私の修正は次のようになりました:

        if ( ! empty($call->album->tracks))
        {
            for( $n = 0 ; $n < count($call->album->tracks->track); $n++)
            {
                // This is identical to how tags is done...
                $info['tracks'][$n]['name'] = (string) $call->album->tracks->track[$n]->name;
                $info['tracks'][$n]['url'] = (string) $call->album->tracks->track[$n]->url;
            }
        }
于 2014-08-13T03:32:44.330 に答える