利用騰訊提供的QQ音樂API,返回一段對方在QQ音樂收藏的歌曲名稱json數據,並對該json做解析,就能知道你的那個他或她喜歡聽什么歌曲了,然后你就知道他/她的品位了,然后就自己看着辦了,嘿嘿。我只能幫你到這了。
感謝bejson收集的各種有用的接口,他的網站http://www.bejson.com/webInterface.php。QQ音樂收藏歌曲的API是http://qzone-music.qq.com/fcg-bin/fcg_music_fav_getinfo.fcg?dirinfo=0&dirid=1&uin=QQ號&p=0.519638272547262&g_tk=1284234856,看到有哥們用jquery和jPlayer來跨域獲取和解析,在本例中用原生js來做跨域。代碼簡潔明了如下,有什么不對之處和不合理之處請指教。
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <title>獲取qq空間收藏音樂</title> 6 7 <script type="text/javascript">var h=''; 8 function jsonCallback(data) 9 { 10 11 for(var i=0;i<data.SongList.length;i++) 12 { 13 h+=(i+1)+'--歌曲名稱:'+'<span style="color:#f00">'+data.SongList[i].songname+'</span> 歌手名稱:'+data.SongList[i].singername+'</br>'; 14 } 15 document.getElementsByTagName('body')[0].innerHTML=h; 16 } 17 function getMusic() 18 { 19 var qqNum=document.getElementById('text').value; 20 var url='http://qzone-music.qq.com/fcg-bin/fcg_music_fav_getinfo.fcg?dirinfo=0&dirid=1&uin='+parseInt(qqNum)+'&p=0.519638272547262&g_tk=12842dd34856'; 21 createJs(url); 22 } 23 </script> 24 <script type="text/javascript"> 25 function createJs(url) 26 { 27 var os=document.createElement('script'); 28 os.type='text/javascript'; 29 os.src=url; 30 31 var head=document.getElementsByTagName('head')[0]; 32 head.appendChild(os); 33 } 34 35 </script> 36 </head> 37 38 <body> 39 <input type="text" id="text" size="40"> 40 <input type="button" value="go" onclick="getMusic()" /> 41 </body> 42 </html>
在輸入框輸入QQ號碼,效果截圖: