SPAlbumBrowse - получение точного списка альбомов исполнителя

Хорошо. Это сходит с ума. Я работаю над этим в течение нескольких дней, пытаясь разного рода странные вещи. Я думаю, что прошлой ночью у меня был кошмар о libSpotify, возможно, был продуктом моих спящих привычек, но я отвлекся.

Так или иначе. Давайте посмотрим на художника "XX" со следующим кодом. Предположим, что художник инициализирован художником "xx", Spotify url spotify: artist: 3iOvXCl6edW5Um0fXEBRXy

artistBrowse = [[SPArtistBrowse alloc] initWithArtist: artist inSession: spotifySession type: SP_ARTISTBROWSE_ALBUMS];
[SPAsyncLoading waitUntilLoaded: artistBrowse timeout: kSPAsyncLoadingDefaultTimeout then:^(NSArray *loadedItems, NSArray *notLoadedItems) { [SPAsyncLoading waitUntilLoaded: artistBrowse.albums timeout: kSPAsyncLoadingDefaultTimeout then:^(NSArray *loadedItems, NSArray *notLoadedItems) { NSArray *types = @[@"a", @"s", @"c", @"u"]; for(SPAlbum *album in loadedItems) { NSLog(@"%@, %@, %@, %d, %-50s, %@", types[album.type], album.available ? @"Y" : @" N", album.artist.name, album.year, album.name.UTF8String, album.spotifyURL); } }];
}];

Здесь вывод. Извините, это довольно долго. Обратите внимание, что первый столбец относится к SP_ALBUM_TYPE альбома (a = альбом, s = одиночный, c = компиляция, u = неизвестный), второй столбец - Y или N в зависимости от того, доступен ли альбом в моей области сеанса ( США), третья колонка - имя исполнителя, пятое - альбомный год, шестой - название альбома и, наконец, URL Spotify альбома.

u, N, The xx , 2012, Coexist , spotify:album:2cRMVS71c49Pf5SnIlJX3U
u, N, The xx , 2009, xx , spotify:album:2rmMeEq5D1Bg7YFRwtHBDr
a, N, The xx , 2009, xx , spotify:album:2nXJkqkS1tIKIyhBcFMmwz
s, Y, The xx , 2013, ******* (Edu Imbernon Remix) , spotify:album:4GRHNZJ1dWCqgWfiyyJF2L
u, N, The xx , 2013, Fiction , spotify:album:4fUxANSrGWQlRtF2kpxo6g
s, Y, The xx , 2013, Innervisions Remixes , spotify:album:4ZmviA6XFr2D2Bfw0bicwa
s, Y, The xx , 2013, Sunset (Jamie Jones Remix) , spotify:album:1XlsTZcDbHQmLr3tNvuV5o
s, Y, The xx , 2013, Sunset (Kim Ann Foxman Remix) , spotify:album:26gAjcYx9iGrOuplES6jC1
s, Y, The xx , 2012, Angels , spotify:album:7kuu8alOjlFTGJmwsRINz9
s, Y, The xx , 2012, Angels (Four Tet Remix) , spotify:album:4ZLWktgv4GJSgzzskz6rpI
s, Y, The xx , 2012, Chained (John Talabot and Pional Blinded Remix) , spotify:album:2PsFbWSt7nAwZuO6M6zeMU
s, Y, The xx , 2012, Chained (LIAR Remix) , spotify:album:6HrD4wpVXVfXkZP1gxcKyH
s, Y, The xx , 2012, Jamie xx Edits , spotify:album:33UOrxCqUHQDH3XvNEYWoP
s, N, The xx , 2009, Basic Space , spotify:album:0LusnqOZqR8IYXHWE3DSQI
s, N, The xx , 2009, Basic Space , spotify:album:6aStvQrltK28rgDFsyOsBS
s, Y, The xx , 2009, Crystalised , spotify:album:6npsIAD3tolsM1htkmCDpT
s, N, The xx , 2009, Islands , spotify:album:7rW7Zf8fTJT25wMo4z6ww3
s, N, The xx , 2009, Islands , spotify:album:0KVBiUIqhl087FgJyvr8kS
s, N, The xx , 2009, VCR , spotify:album:0eRJD5ey3HqIgsGheUwZqg
s, Y, The xx , 2009, VCR (Four Tet Remix) , spotify:album:0L1Dg07wMBxRkzO5qlN1li
s, N, The xx , 2009, xx , spotify:album:0z6ErTRiEcAML2IPrkWI5W
a, N, Various Artists , 2013, Circus HalliGalli , spotify:album:0SCDZwyv5MbWsCdmeRHJUb
a, N, Craig Armstrong , 2013, The Orchestral Score From Baz Luhrmann Film The Great Gatsby, spotify:album:7hTAlVO7LPTI5Q3KI5rTkR
a, Y, Craig Armstrong , 2013, The Orchestral Score From Baz Luhrmann Film The Great Gatsby, spotify:album:6OuywehyzlNMYklKnPpr1W
a, N, Various Artists , 2013, Ministry Of Sound Chillout Sessions Classics , spotify:album:4yfIS04c7NLu20GEx0fKLm
a, N, Various Artists , 2013, Young Folks , spotify:album:56HMwAOWW0jnAH7J1S71Q1
a, N, Various Artists , 2013, Dance Anthems (Summer Edition 2013) , spotify:album:25uYDaqMIFjCSKKWgDpDuM
a, N, Various Artists , 2013, FluxFM - Popkultur kompakt Vol. 1 , spotify:album:44OoPqLioRdPtG181OSWXO
a, Y, Various Artists , 2013, Music From Baz Luhrmann Film The Great Gatsby , spotify:album:0ke0VwcET1D6neauEyk4U4
a, Y, Various Artists , 2013, Music From Baz Luhrmann Film The Great Gatsby , spotify:album:1ApOUkhympslVqgf9QFHUj
a, Y, Various Artists , 2013, Music From Baz Luhrmann Film The Great Gatsby , spotify:album:4fPvaODSSdvvP7nuVKCYW2
a, N, Various Artists , 2013, Music From Baz Luhrmann Film The Great Gatsby , spotify:album:0WXuzb6XoO21qOswVOH0xG
a, N, Various Artists , 2013, Music From Baz Luhrmann Film The Great Gatsby , spotify:album:2XVXltseIMrGuK09ck7TpS
a, N, Various Artists , 2013, Music From Baz Luhrmann Film The Great Gatsby , spotify:album:4zmVotzGvedZLgLt7b9enu
a, N, Various Artists , 2013, De Afrekening 54 , spotify:album:5v4Mk83IAaZF8v2ZJlR3zJ
a, N, Various Artists , 2013, Ministry of Sound FUT.UR.ISM , spotify:album:2oliIwXGnek066NvzFOyMh
a, N, Various Artists , 2013, Dermot O'Leary Presents The Saturday Sessions 2013, spotify:album:0vxrNQhxXzFHDoDe8ujfmC
a, N, Various Artists , 2013, Dermot O'Leary Presents The Saturday Sessions 2013, spotify:album:4IjdYP8ejVAUVhYEHIxV69
a, N, Various Artists , 2013, Switch 21 , spotify:album:2asHAel3cC4en0vj8OvL14
a, N, Various Artists , 2013, BRIT Awards 2013 , spotify:album:42DRlqFzejkEI1wTjggazF
a, N, Various Artists , 2013, about:berlin vol:2 , spotify:album:2M4eESAbUIRLtcoTZWKSwd
a, N, Various Artists , 2012, De Afrekening 53 - Best Of 2012 , spotify:album:3EZr5R7qYv49m80jTjjURV
a, N, Various Artists , 2012, Thank God It Friday , spotify:album:0uUKY9EW6pQN8SPzU9vUyd
a, N, Various Artists , 2012, Humo 2012 , spotify:album:3JUslyKt2lAhaQdwX2nsCu
a, N, Various Artists , 2012, FM4 Soundselection Vol.27 , spotify:album:6vWWIRMgDoy3bYkX6oYy6j
a, N, Various Artists , 2012, Ministry of Sound Chillout Sessions XV , spotify:album:1luLiZ8M8yvlwwaLZNkBxI
a, N, Various Artists , 2012, Life Is Music 2012/2 , spotify:album:5uobOKU5V5Gdkr89uioVSk
a, N, Various Artists , 2012, Pure FM Vol.3 - Best Of 2012 , spotify:album:6VZUAizoJYpXS614EhuErD
a, N, Various Artists , 2012, Festivalitis , spotify:album:1Wzv0KyuSgZhXJTVSHuZMR
a, N, Various Artists , 2012, Sonar 1000 Vol.2 , spotify:album:6RygdphSUzqmQI0tY0XTC8
a, N, Various Artists , 2012, We Love Real Music , spotify:album:3YTlHLpLTpAPYzkh05iewe
a, N, Various Artists , 2012, Alle 40 Goed: Alternative , spotify:album:2v7n6Lgf0IV3bWqsxczFYO
a, N, Various Artists , 2012, Alle 40 Goed: Alternative , spotify:album:3Xy2qnFEUNjHMXAF3AlHhD
a, N, The Antlers , 2011, Together , spotify:album:5k6JBXhKxclnxOtGtvpxXP
a, N, Various Artists , 2011, Radio 1 Sonar 1000 , spotify:album:0ZiepVOAQGrWIl7AeUUsEy
a, N, Various Artists , 2011, Ministry of Sound Uncovered 3 , spotify:album:31Ut6kXlaSoADr5k52rYQb
a, N, Various Artists , 2011, The Weather Channel Presents – The Sounds Of Winter, spotify:album:3TWTfxuFaMCcQMHomKRTpN
a, N, Various Artists , 2011, Solid Sounds 2011/1 , spotify:album:46********************
a, N, Various Artists , 2010, Humo Top 2010 , spotify:album:6Cvt2RPh9ANl4CUMXGSFHu
a, N, Various Artists , 2010, Ministry Of Sound Chillout Sessions XIII , spotify:album:2ze7hxcYnwo4CpdyK63xGQ
a, Y, The Big Pink , 2010, Tapes , spotify:album:1RW3Hq6dTHn1Phur2dRvg3
c, Y, The Big Pink , 2010, Tapes , spotify:album:2GJplTNzOUot6it93FtfLu
a, N, Mario Basanov , 2010, Future Balearica: New Chill & Warm Sunset Sounds , spotify:album:0I3COq9K4saT03qXsCmq6c
a, N, Various Artists , 2010, Volume.at - Alternative Summer 2010 , spotify:album:5juF4xi88AVJCreQCdm319
a, N, Various Artists , 2010, Festivalguide 2010 , spotify:album:3B066qff9ZcbFuFWC4vYai
a, N, Various Artists , 2010, Life Is Music 2010-1 , spotify:album:2jsGbNXBbjI933cmL9kGms
a, N, Various Artists , 2010, Uncovered 2 , spotify:album:3TEnNtbEnahNSkmcp0xQFZ
a, N, Various Artists , 2010, Various Artists/Rough Trade Counter Culture 09 , spotify:album:0KRR3PXLfJlIccrlgAllBh

Из этих данных я хочу извлечь что-то вроде следующего. Это xx-альбомы на странице их исполнителей на официальном рабочем столе Spotify с той же учетной записью, которую я использую для входа в libSpotify.

Обратите внимание, что на выходе, даже после того, как я загрузил все альбомы из списка artistBrowse.albums, два элемента, которые являются фактическими альбомами, доступными в моем регионе, перечислены как недоступные, и только один из них фактически указан как альбом.

u, N, The xx , 2012, Coexist , spotify:album:2cRMVS71c49Pf5SnIlJX3U
u, N, The xx , 2009, xx , spotify:album:2rmMeEq5D1Bg7YFRwtHBDr
a, N, The xx , 2009, xx , spotify:album:2nXJkqkS1tIKIyhBcFMmwz

Как решить эту проблему? Много раз, если вы идете и проверяете веб-api с помощью Spotify URL-адресов альбомов, которые говорят, что они недоступны в моем регионе через album.available, код региона "США" находится прямо на выходе с страницы результатов альбома из веб-api. Во-вторых, я получаю WIDELY разные результаты все время. Ничего не последовало, иногда альбом Red Hot Chili Peppers "I'm With You" появляется в моем регионе, иногда в моем регионе нет ни одного. Если в моем регионе есть альбомы, которые недоступны в моем регионе, иногда вызывает другой вызов waitUntiLoaded: вызов с загруженными элементами, возвращенными в вызове waitUntilLoaded, с помощью функции artistBrowse.albums решает проблему; загрузка "загруженных предметов" снова иногда устраняет проблему? Это даже не имеет смысла.

Наконец, wtf.

a, N, Rihanna , 2012, Unaplogetic , spotify:album:4owyFvp5H3UXKIOBBT9x3m
a, Y, Rihanna , 2012, Unapologetic , spotify:album:0XJya16l3K1J2dEwY19F8z
a, Y, Rihanna , 2012, Unapologetic , spotify:album:4eddbruVtOqw8khwxSH6H2
a, N, Rihanna , 2012, Unapologetic , spotify:album:4XBfFj0WYyh5mBtU61EdyY
a, N, Rihanna , 2012, Unapologetic , spotify:album:5pLlGJrxuQO3jMoQe1XxZY
a, N, Rihanna , 2012, Unapologetic , spotify:album:0giyQojM6DkyXVYigNo72p
a, Y, Rihanna , 2012, Unapologetic , spotify:album:1ciAVKFdlpLi2eGDlXv6Bo
a, N, Rihanna , 2012, Unapologetic , spotify:album:1jlYso6n0IxsGTLIvZOXUn
a, N, Rihanna , 2012, Unapologetic , spotify:album:5UDXzVwWnn3mDy3mTpQPYb

ПОМОГИТЕ, пожалуйста, это огромный облом. Я буквально на полную потерю здесь о том, как получить какой-либо надежный список, хотя я убежден, что если официальный клиент сможет это сделать, то я тоже могу. Я так долго смотрел на это в течение многих дней. Я думаю о резервном копировании моего поиска с призывом к веб-api и тому подобное, используя web-api, чтобы дать мне списки альбомов для артистов.... звучит очень неприятно хоть. В противном случае библиотеке было очень приятно работать. В очередной раз благодарим за помощь!

1 ответ

Проблема может заключаться в том, что есть один и тот же альбом, но в разных регионах. Я предполагаю, что настольный клиент сортирует список по региону.

вам может потребоваться проверить available свойство внутри SPArtistBrowse.

licensed under cc by-sa 3.0 with attribution.