为啥 Spotify 登录不起作用?
Posted
技术标签:
【中文标题】为啥 Spotify 登录不起作用?【英文标题】:Why is the spotify login not working?为什么 Spotify 登录不起作用? 【发布时间】:2016-08-26 15:21:37 【问题描述】:我正在使用 spotify api,当我尝试登录时出现错误。这是错误-canOpenURL: failed for URL: "spotify-action://" - error: "(null)"
。下面我已经包含了所有必要的代码。我究竟做错了什么?我正在使用最新的 soptify api 版本。
登录
let kClientId = "hidden"
let kCallbackURL = "testapp://callback"
@IBAction func loginspotify(sender: AnyObject)
let auth = SPTAuth.defaultInstance()
auth.clientID = kClientId
auth.redirectURL = NSURL(string: kCallbackURL)
auth.tokenSwapURL = NSURL(string: kTokenSwapURL)
auth.tokenRefreshURL = NSURL(string: kTokenRefreshServiceURL)
auth.requestedScopes = [SPTAuthUserReadPrivateScope,SPTAuthStreamingScope,SPTAuthPlaylistModifyPrivateScope,SPTAuthUserReadEmailScope,SPTAuthUserLibraryModifyScope,SPTAuthUserLibraryReadScope,SPTAuthPlaylistReadPrivateScope,SPTAuthUserReadPrivateScope]
var loginURL = auth.loginURL
print(loginURL)
UIApplication.sharedApplication().openURL(loginURL)
AppDelegate
let kClientId = "hidden"
let kCallbackURL = "testapp://callback"
func application(application: UIApplication, openURL url: NSURL, sourceApplication: String?, annotation: AnyObject) -> Bool
if(SPTAuth.defaultInstance().canHandleURL(url))
SPTAuth.defaultInstance().handleAuthCallbackWithTriggeredAuthURL(url, callback: (error: NSError!, session: SPTSession!) -> Void in
if(error != nil)
print("AUTHENTICATION ERROR \(error)")
return
let userDefaults = NSUserDefaults.standardUserDefaults()
let sessionData = NSKeyedArchiver.archiveRootObject(session, toFile: "sessiondata")
userDefaults.setObject(sessionData, forKey: "SpotifySession")
userDefaults.synchronize()
NSNotificationCenter.defaultCenter().postNotificationName("loginSuccessful", object: nil)
)
return true
【问题讨论】:
【参考方案1】:您需要运行一个单独的交换令牌服务器,该服务器使用您的 Spotify 凭据对共享密钥进行哈希处理。这是 RC5 标准的一部分。
这是一个交换服务的例子:
https://github.com/spotify/ios-sdk/blob/master/Demo%20Projects/spotify_token_swap.rb
【讨论】:
据发现它似乎没有提到任何关于交换服务的内容 看看这个页面:developer.spotify.com/technologies/spotify-ios-sdk/tutorial以上是关于为啥 Spotify 登录不起作用?的主要内容,如果未能解决你的问题,请参考以下文章
为啥用facebook登录不起作用? (除了检查网址,如何调试这个问题?)
为啥在 google play store 上发布后 google 和 facebook 登录不起作用