我正在使用grooveshark API,我想从url中找到一个sondId。所以我有一个url:
http://grooveshark.com/#!/s/T4+Song/2IsoC7?src=5我提取url中的"id“:
2IsoC7但是,与专辑和播放列表不同的是,ids直接显示在Url中:
http://grooveshark.com/#!/album/Sexplosive+Locomotive/3624474
http://grooveshark.com/album/Sexplosive+Locomotive/3624474
http://grooveshark.com/#!/playlist/Punish+Yourself/58054955
http://grooveshark.com/playlist/Punish+Yourself/58054955我不知道怎么找到songId..。我试过getSongIDFromTinysongBase62,但没试过。
如何使用grooveshark API确定songID?谢谢!
发布于 2013-10-10 04:30:29
有一些Grooveshark方法没有包含在官方的API文档中,但是有一个few repos记录了非官方的API并包含了这些方法。您要查找的方法是getSongFromToken。
它需要country和token作为参数(在本例中,token为"2IsoC7" )。您还需要将header.client设置为"htmlshark"。
下面是一个示例cURL请求:
curl 'http://grooveshark.com/more.php?getSongFromToken' -H 'Content-Type: text/plain' --data-binary '{"header":{"client":"htmlshark","clientRevision":"20130520","uuid":"[YOUR-UUID]","session":"[YOUR-SESSION]","token":"[YOUR-SESSION-TOKEN]"},"method":"getSongFromToken","parameters":{"token":"fESpf","country":{"ID":223,"CC1":0,"CC2":0,"CC3":0,"CC4":1073741824,"DMA":534,"IPR":0}}}'这应该会得到如下所示的结果:
"header": {
"session":"[YOUR-SESSION]",
"serviceVersion":"20100903",
"prefetchEnabled":true
},
"result": {
"SongID":"25134723",
"Name":"T4 Song",
"Flags":"0",
"EstimateDuration":"227",
"AlbumID":"3624474",
"AlbumName":"Sexplosive Locomotive",
"CoverArtFilename":"3624474.jpg",
"ArtistName":"Punish Yourself",
"ArtistID":"249162"
}不幸的是,这些变量中的一些命名有点糟糕。header中的token是您的会话令牌。parameters里面的token是你正在查找的歌曲的id。
希望这能有所帮助!
https://stackoverflow.com/questions/17019256
复制相似问题