(Spotify iOS SDK) renewSession 总是返回 nil session

Posted

技术标签:

【中文标题】(Spotify iOS SDK) renewSession 总是返回 nil session【英文标题】:(Spotify iOS SDK) renewSession always return nil session 【发布时间】:2016-08-25 02:36:33 【问题描述】:

我正在 ios 上构建一个小应用程序,它使用 Spotify SDK 来向其 Web Api 发出请求。问题是,每当我想发出请求时,我都会使用函数 STPAuth.renewSession 来更新令牌。但是对于那个函数文档说'如果没有指定令牌刷新服务,回调将返回 nil 作为会话'。这就是发生在我身上的事情。我总是得到一个 nil 'renewedSession' (https://developer.spotify.com/ios-sdk-docs/Documents/Classes/SPTAuth.html#//api/name/renewSession:callback:)

我在那里搜索过,发现这个视频中的这个人使用了一个运行一些脚本的服务器,他使用终端打开,在他的应用程序上指定了一个令牌刷新服务 URL (https://www.youtube.com/watch?v=GeO00YdJ3cE),但似乎没有提到在 Spotify 的 iOS SDK 教程中..

具体是怎么做的?或者也许有另一种方法..

提前谢谢你:)

【问题讨论】:

【参考方案1】:

听起来您正在寻找授权代码流。可以在此处找到对该概念的描述:https://developer.spotify.com/web-api/authorization-guide/#authorization_code_flow。为了让您的应用发送会话刷新请求,您需要某种服务来代表您发出请求。您可以使用 Node.js,但要注意它违反了 OAuth 2.0 标准。可以在此处部署到 Heroku 的 Node.js 令牌交换服务 URL 有一个很好的解释和设置:https://github.com/rorygilchrist/node-spotify-token-swap

设置好服务后,您必须在应用内处理回调 URL,然后调用 SPTAuth.renewSession 来触发请求。

【讨论】:

Spotify 想让我建立一个服务器,这样我就可以使用他们该死的 api 来刷新一个只持续 1 小时的该死的令牌......这是有史以来最糟糕的 api,这是人类的耻辱。 它是使用 OAuth 2.0 的任何服务的标准架构,而不仅仅是 Spotify。

以上是关于(Spotify iOS SDK) renewSession 总是返回 nil session的主要内容,如果未能解决你的问题,请参考以下文章

使用 iOS Spotify SDK 在给定的开始时间启动 Spotify 曲目播放?

使用 Spotify ios-sdk6 从 com.spotify.auth 获取“无效客户端”

Spotify SDK iOS SDK 403 错误

Spotify iOS SDK Beta 5 构建错误

Spotify iOS sdk 使用现有访问令牌连接到 Spotify 远程应用程序

在印度使用 Spotify iOS SDK