Mam aplikację, która pozwala użytkownikom na strumieniowe przesyłanie utworów z spotify. Aby to osiągnąć, muszę odnawiać sesję od czasu do czasu, gdy użytkownicy chcą odtwarzać utwory z Spotify. Korzystam z najnowszej wersji sredytacji spotify (beta-9) i obecnie obserwuję samouczek od https://www.youtube.com/watch?v=GeO00YdJ3cE. W tym samouczku musimy odświeżyć token wymiany , ale gdy spojrzałem z https://developer.spotify.com/technologies/spotify-ios-sdk/tutorial/, nie ma potrzeby odświeżania tokena.Jak odnowić sesję spotify?
a ja w końcu nie za pomocą tokena swapa, gdy odświeżam mój sesja następnie odtworzyć utwór z nową sesję, mam poniżej błędu:
Error Domain=com.spotify.ios-sdk.playback Code=8 "Login to Spotify failed because of invalid credentials." UserInfo=0x7f840bf807b0 {NSLocalizedDescription=Login to Spotify failed because of invalid credentials.}
i używam poniżej tego kodu, do odnowienia mój sesja:
let userDefaults = NSUserDefaults.standardUserDefaults()
if let sessionObj : AnyObject = NSUserDefaults.standardUserDefaults().objectForKey("spotifySession") {
let sessionDataObj : NSData = sessionObj as! NSData
let session = NSKeyedUnarchiver.unarchiveObjectWithData(sessionDataObj) as! SPTSession
self.playUsingSession(session)
if !session.isValid() {
SPTAuth.defaultInstance().renewSession(session, callback: { (error : NSError!, newsession : SPTSession!) -> Void in
if error == nil {
let sessionData = NSKeyedArchiver.archivedDataWithRootObject(session)
userDefaults.setObject(sessionData, forKey: "spotifySession")
userDefaults.synchronize()
self.session = newsession
self.playUsingSession(newsession)
}else{
println("renew session having problerm >>>>> \(error)")
}
})
}else{
println("session is still valid")
self.playUsingSession(session)
}
}else{
spotifyLoginButton.hidden = false
}
i poniżej kod do strumienia Spotify piosenki:
func playUsingSession(sessionObj:SPTSession!){
if spotifyPlayer == nil {
spotifyPlayer = SPTAudioStreamingController(clientId: kSpotifyClientID)
}
spotifyPlayer?.loginWithSession(sessionObj, callback: { (error : NSError!) -> Void in
if error != nil {
println("enabling playback got error : \(error)")
return
}
var spotifyTrackUri : NSURL = NSURL(string: "spotify:track:3FREWTEY2uFxOorJZMmZPX")!
self.spotifyPlayer!.playURIs([spotifyTrackUri], fromIndex: 0, callback: { (error : NSError!) -> Void in
if error != nil {
println("\(error)")
}
})
})
}
Czy nadal trzeba odświeżyć tokena dla najnowszego sdk? A może czegoś brakuje w moim kodzie?
Jak można używać. kod herokuapp w aplikacji na iOS? – Parthpatel1105
to jest całkiem niesamowite. Bardzo ci za to dziękuję! ale otrzymuję: 'JSON tekst nie zaczął się od tablicy lub obiektu i opcji, aby umożliwić fragmenty nie ustawione." jakiś pomysł? –
'Używając adresu URL serwera utworzonego powyżej, dodaj następujące ustawienia podczas konfigurowania SPTAuth.defaultInstance():' can u plz explain more – Jack