Мне нужна помощь для обновления Kast - экстраординарного радиоплеера SHOUTcast HTML5 для jQuery, созданного Манаром Камелем.
У меня уже есть идентификатор клиента, секрет клиента и URI перенаправления API Spotify.
Я провел тесты аутентификации на примере app.js, и все работает нормально.
Я не говорю по-английски, и все руководства разработчиков spotify на английском языке.Я использую гугл переводчик.
artwork: function (artist, track, callback) {
// -- Pull album artwork from spotify API
// -- or artist artwork as fallback
// -- or Default art as fallback
// -- return it
var that = this,
ot = this.opt;
if (Array.isArray && Array.isArray(ot.artwork)) {
return callback(ot.artwork)
}
if (artist === ot.language.unknownArtistText) { // If artist is unknown
return callback(null)
}
var artistC = chaRe(artist),
trackC = chaRe(track),
processArtworkX = function (data) { // @retuns images array if found or null
var imgAr = null;
if (data.tracks && data.tracks.items[0]) {
var imagesArrayT = data.tracks.items[0].album.images || '',
imgLarge,
imgSmall = imagesArrayT[2].url || '';
if (that.mobileMedium) { // ** Mobile first :)
imgLarge = imagesArrayT[1].url || ''; // ** Medium quailty
} else {
imgLarge = imagesArrayT[0].url || '';
}
if (imgLarge && imgSmall) {
imgAr = [imgLarge, imgSmall];
}
} else if (data.artists && data.artists.items[0] && data.artists.items[0].images[0]) {
var imagesArrayA = data.artists.items[0].images || '',
imgLarge = null,
imgSmall = null;
if (data.artists.items[0].images.length === 4) { // ** Not normal artist images
if (that.mobileMedium) { // ** Mobile first :)
imgLarge = imagesArrayA[2].url || ''; // ** Medium quailty
} else {
imgLarge = imagesArrayA[1].url || '';
}
imgSmall = imagesArrayA[3].url || '';
} else {
if (that.mobileMedium) { // ** Mobile first :)
imgLarge = imagesArrayA[1].url || ''; // ** Medium quailty
} else {
imgLarge = imagesArrayA[0].url || '';
}
imgSmall = imagesArrayA[2].url || '';
}
if (imgLarge && imgSmall) {
imgAr = [imgLarge, imgSmall];
}
}
return imgAr
},
ajaxArtwork = function (artistN, trackN, noLuck) {
var spotifyTrackAPI = 'https://api.spotify.com/v1/search?q=artist:' + artistN + '%20track:' + trackN + '&limit=1&type=track',
spotifyArtistAPI = 'https://api.spotify.com/v1/search?q=artist:' + artistN + '&limit=1&type=artist',
spotifyAPI = noLuck ? spotifyArtistAPI : spotifyTrackAPI;
// Smart pulling
XHR({
url: spotifyAPI,
load: function (data) {
var dataJSON = JSON.parse(data);
var imgAr = processArtworkX(dataJSON); // @returns artwork array or null
if (imgAr) {
callback(imgAr)
} else {
if (noLuck) {
callback(null)
} else {
ajaxArtwork(artistN, trackN, true) // ** this time get artist art and if !imgAr return null
}
}
},
error: function () {
callback(null)
}
})
},
iW = ot.irrelevantWords;
if (iW) {
var iWL = iW.length;
for (var i = 0; i < iWL; i++) {
artistC = artistC.replace(iW[i], '')
trackC = trackC.replace(iW[i], '')
}
ajaxArtwork(artistC, trackC) // smart artwork pulling
} else {
ajaxArtwork(artistC, trackC) // smart artwork pulling
}
return this
},
Этот код в настоящее время не работает, потому что для API spotify требуется токен.
Я хочу знать, что мне нужно вставить этот код, чтобы он работалдля меня сейчас.
Я новичок, но я постараюсь.
Спасибо за терпение и помощь, которую вы можете оказать мне.
Хуан