2013-06-10 2 views
2

Я использую API grooveshark, и я хотел бы найти sondId из url. Так что я имею URL:Получить grooveshark songId из url

http://grooveshark.com/#!/s/T4+Song/2IsoC7?src=5 

извлечь "ID" в URL:

2IsoC7 

Но, в отличие от альбомов и плейлистов, где идентификаторами непосредственно displayeds в 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, но не работал.

Как определить songID с API-интерфейсом grooveshark? Благодаря !

ответ

3

Есть некоторые методы Grooveshark, которые не включены в официальные документы API, но есть fewrepos, которые документируют Неофициальный 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" 
} 

К сожалению, некоторые из этих переменных немного плохо имени. token внутри header - ваш токен сеанса. token внутри parameters - это идентификатор песни, которую вы ищете.

Надеюсь, что это поможет!