如何解决LastFM track.updateNow在PHP中播放
要更改当前播放的曲目,您必须在请求中发送“ api_sig”作为post参数(请参阅last.fm文档)。我正在按照文档中的说明构建此字符串,但仍然始终收到错误:“无效的方法-该程序包中没有使用该名称的方法”。但是,我不认为该方法不存在,我认为我的api_sig是不正确的,因为没有错误的api_sig错误代码,并且我无法更新其他方法(例如track.scrobble)。 / p>
到目前为止,这是我的代码(我知道它不是很干净。只要它起作用,它就会被更改:D):
$url = 'http://ws.audioscrobbler.com/2.0/?api_key='.$apikey.'&format=json';
$params = array(
"api_key" => $apikey,"method" => "track.updateNowPlaying","artist" => "eiffel65","track" => "Blue","sk" => $sessionkey
);
ksort($params);
$sigstr = "";
foreach ($params as $x => $x_value) {
$sigstr .= $x.$x_value;
}
$params = array(
"api_key" => urlencode($apikey),"method" => urlencode("track.updateNowPlaying"),"artist" => urlencode("eiffel65"),"track" => urlencode("Blue"),"sk" => urlencode($sessionkey)
);
$sigstr .= $apisecret;
$sigstr = md5(utf8_encode($sigstr));
$curl = curl_init();
$headers = array();
$params["api_sig"] = $sigstr;
curl_setopt($curl,CURLOPT_HTTPHEADER,$headers);
curl_setopt($curl,CURLOPT_POSTFIELDS,$params);
curl_setopt($curl,CURLOPT_HEADER,0);
curl_setopt($curl,CURLOPT_RETURNTRANSFER,true);
curl_setopt($curl,CURLOPT_URL,$url);
curl_setopt($curl,CURLOPT_TIMEOUT,30);
$json = curl_exec($curl);
curl_close($curl);
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。