问题描述
要更改当前播放的曲目,您必须在请求中发送“ 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 (将#修改为@)