我正在尝试让 Spotify API 与 AngularJS 一起使用。我在授权阶段收到无效的重定向 URI 错误(https://developer.spotify.com/web-api/authorization-guide/).
我已将redirect_uri添加到白名单中,当我有一个URI时,它可以工作,例如
http://localhost:3000
但当我有一个带有哈希值的 URI 时它不起作用
http://localhost:3000/#/main
我想使用后一个 URI 的原因是因为使用前一个 URI 我得到了一个 URI,但我无法通过 Angular 从中获取参数
http://localhost:3000/<parameters returned from spotify>/#/main)
而我希望 URI 是这样的:
http://localhost:3000/#/main/<parameters returned from spotify>
任何帮助将不胜感激,谢谢。
有几种方法可以做到这一点。我建议你看看possan/webapi-播放器-示例,它是使用 AngularJS 构建的,并使用PostMessage
在重定向 URI 之间进行通信(callback.html
)和 Angular 应用程序(app.js
).
如果 PostMessages 不是一个选项,您可以尝试以下操作:
- 启动一个循环来检查某个键是否打开
localStorage
- 在弹出窗口中打开登录页面。
- 在回调页面中,写入
localStorage
您从 Spotify 返回的数据(即access_token
, refresh_token
, expires_in
).
- 几秒钟后关闭弹出窗口
- 循环应该已经意识到 localStorage 中写入的新值。
前面的流程虽然有点复杂,但在 iOS 设备等环境中效果很好,在这些环境中,有时无法在回调页面和“主”页面之间正确通信。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)