itunes搜索商店api

时间:2017-02-12 13:29:42

标签: json api itunes

我想从API iTunes Store获取数据到我的PHP文件。在搜索表单中,您可以填写歌曲的艺术家和标题。我只想显示歌曲中的数据。这是我的代码:

$title = $_POST["title"];
$artist = $_POST["artist"];
$query_string = urlencode($title);
$query_string2 = urlencode($artist);
$json = file_get_contents('https://itunes.apple.com/search?term=$query_string&term=$query_string2'); // this WILL do an http request for you
$data = json_decode($json);

echo "<div class='container' id='movies'>";
echo "<div class='col-md-4' id='movie'>";
echo "<img src='" .$data->artworkUrl60. "' width='200'>";
echo "<h4>" .$data->artistName. " - " .$data->trackName.  "</h4>"; 

我收到此错误:注意:未定义的属性:stdClass :: $ artworkUrl60 in .... 我的代码怎么了?

1 个答案:

答案 0 :(得分:2)

因为$ data对象不包含名为$ artworkUrl60的属性。 您的HTTP查询无法正常工作,您应该使用双引号而不是单引号。

// For limit you can add 'limit' parameter
$json = file_get_contents("https://itunes.apple.com/search?term=$query_string&term=$query_string2&limit=20");
// OR concatenation
// $json = file_get_contents('https://itunes.apple.com/search?term='.$query_string.'&term='.$query_string2);
$data = json_decode($json);

if (0 == $data->resultCount) {
    echo 'No result found ! ';
}
else {
    foreach ($data->results as $row){
        echo "<div class='container' id='movies'>";
        echo "<div class='col-md-4' id='movie'>";
        echo "<img src='" .$row->artworkUrl60. "' width='200'>";
        echo "<h4>" .$row->artistName. " - " .$row->trackName.  "</h4>";
    }
}

https://affiliate.itunes.apple.com/resources/documentation/itunes-store-web-service-search-api/#searchexamples