2012-04-20 62 views
1

我想查询广告牌api从某个日期获取头号。当我尝试查询他们的服务时,即使使用他们的例子,我也没有收到任何数据。任何人有任何想法?谢谢广告牌杂志API问题

+0

你能告诉我们什么码? – Chris 2012-04-20 13:31:47

+0

嗨,http://api.billboard.com/apisvc/chart/v1/item?id=3064444&api_key=txkttmnu46cb7q62dh9fdbp7这工作,因为我认为它返回一个项目。但http://api.billboard.com/apisvc/chart/v1/list?artist=jackson&song=One&sdate=2007-10-10&edate=2008-5-20&api_key=txkttmnu46cb7q62dh9fdbp7无法正常工作,我想是因为它会返回一个列表。 – user1346670 2012-04-20 15:18:41

回答

0

Billboard API可能是一半,或者只是没有返回任何有关2011年下半年及以后的数据。也许Billboard不想公布数据?也许工程师被解雇了,有什么东西坏了?从网站来看,似乎我们永远不会知道。 http://developer.billboard.com/docs/read/API_Architecture

当前工作示例(于2012年10月1日): http://api.billboard.com/apisvc/chart/v1/list?format=xml&sdate=2000-03-01&edate=2001-04-01&api_key=bvk4re5h37dzvx87h7rf5dqz

当前 “不工作” 的例子,返回0数据: http://api.billboard.com/apisvc/chart/v1/list?format=xml&sdate=2012-03-01&edate=2012-04-01&api_key=bvk4re5h37dzvx87h7rf5dqz

3

的API是坏了,但是你可以很容易地从他们的网站上刮取你需要的信息。

(免责声明:广告牌可能不明白这一点你应该看看他们的使用条款的第一个。)

<?php 

$date = '1984-09-24'; 
$str = file_get_contents('http://www.billboard.com/charts/hot-100?chartDate=' . $date); 

$start = 'billboard.charts.data = '; 
$end = '</script>'; 

$str = substr($str, strpos($str, $start) + strlen($start)); 
$str = substr($str, 0, strpos($str, $end)); 
$str = substr(trim($str), 0, -1); 

$data = json_decode($str); 

echo '<pre>'; 
print_r($data); // $data->items[0] for the #1 single 
echo '</pre>'; 

?>