Spotify 的重定向 URI 无效

2023-12-10

我正在尝试让 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 不是一个选项,您可以尝试以下操作:

  1. 启动一个循环来检查某个键是否打开localStorage
  2. 在弹出窗口中打开登录页面。
  3. 在回调页面中,写入localStorage您从 Spotify 返回的数据(即access_token, refresh_token, expires_in).
  4. 几秒钟后关闭弹出窗口
  5. 循环应该已经意识到 localStorage 中写入的新值。

前面的流程虽然有点复杂,但在 iOS 设备等环境中效果很好,在这些环境中,有时无法在回调页面和“主”页面之间正确通信。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spotify 的重定向 URI 无效 的相关文章

  • 单元测试依赖注入

    我对茉莉花和业力是全新的 我相信我的环境设置正确 并且我能够运行非常基本的单元测试 但是一旦我尝试实例化控制器 我就会收到未知提供程序错误 并且我不确定如何调试它 我需要传入 stateProvider 依赖项吗 我在角种子示例中没有看到这
  • Swagger 生成 javascript-closure-angular-client

    我是 swagger 的新手 我从 swagger 的在线编辑器生成了一个 javascript 闭包角度客户端 它给了我一个 DefaultAPI js 和其他与我的对象定义匹配的 JS 文件 我在 swagger 文档和网上搜索了一种在
  • 包含routeChangeSuccess的AngularJS测试控制器

    我正在尝试创建单元测试来测试导航列表控制器 但在创建测试时遇到问题 这是控制器的代码 navListModule controller NavListCtrl scope NavList function scope NavList sco
  • 导航嵌套组件时创建面包屑 (Angular 2)

    我正在为此苦苦挣扎 这个想法是有一个组件 当浏览子视图时更新面包屑 例如
  • 如何正确清理来自 AngularJS 控制器的无效输入的表单?

    我有一个 AngularJS 表单 其中包含 除其他字段之外 类型之一url 后者很重要 因为这会强制相应的输入成为有效的 URL 在某些条件下 例如 要关闭具有此类表单的模式对话框 我想以编程方式清除该表单 为此 我实现了方法reset基
  • 在 Angular 中让多个调用等待同一个 Promise

    我在一个页面上有多个使用相同服务的控制器 为了举例 我们将服务称为 USER 第一次调用 USER getUser 时 它会发出 http 请求来获取有关用户的数据 调用完成后 它将数据存储在 USER data 中 如果再次调用 USER
  • 当共享相同的行和列时,将网格项设置为不重叠

    现在 当两个网格项共享相同的行和列时 它们会相互重叠 div class some grid container div Item 1 div div Item 2 div div 我如何让它们不重叠 当共享相同的行和列时 其行为可能类似于
  • Angular - 如何从 DOM 中删除我使用过 $compile 的元素?

    我需要的是两个 ng views 的功能 因为我不能 我想更改某些内容的innerHTML 并编译它 我遇到的问题是 当我再次更改内容时 我可以编译 但是 Angular 是否会自行删除绑定 或者我必须手动执行此操作 如果是这样 怎么办 编
  • AngularJS:Array.prototype.find() 在 Chrome 中不起作用

    我遇到一个问题 我的角度代码可以在 Firefox 中工作 但不能在 Chrome 中工作 浏览器控制台打印如下 TypeError undefined is not a function at setSelectedColor http
  • 禁用在 django Rest Framework 中创建嵌套对象

    Hi 你能帮我怎么做吗禁用创建嵌套对象 我有这样的序列化器 员工拥有团队的外键 class TeamSerializer serializers ModelSerializer class Meta model Team fields id
  • Angular 中有主控制器好吗?

    我不知道这是否是一个好的做法 我在路由配置中定义了一个控制器 但是因为我的HomeCtrl is in ng if他听不到的声明loginSuccess所以我做了MainCtrl它监听loginSuccess并做出适当的反应 这段代码工作得
  • 卸载/销毁 Angular 延迟加载组件

    我的设置与此处找到的帖子类似http ify io lazy loading in angularjs http ify io lazy loading in angularjs 处理 Angular 中我的应用程序的各种组件的延迟加载 我
  • 离子旋转器未显示

    我用 http 请求填充 Ionic 集合重复列表 但我不想将所有内容直接加载到 DOM 中 因此 我只显示其中一些项目 并在您向下滚动时添加其余项目 为此我实现了无限滚动功能 当我到达页面底部时 它应该显示一个旋转器 但它没有 这些物品至
  • 如果特定 stateParam 为空,如何重定向到 state

    我不确定我这样做的方式是否正确 任何建议将不胜感激 我有一个餐厅选择器 用户可以从中选择一家餐厅 然后所有其他子状态加载特定于所选餐厅的内容 但我需要默认选择一个子状态 包括一家餐厅 它将根据用户最近的位置或 cookie 数据 如果他们之
  • 测试 AngularJs 的 $http.defaults.headers.common 是否设置了特定标头

    所以我对 JavaScript 和 AngularJS 的世界还是个新手 因此我的代码还没有达到应有的水平 但它正在改进 尽管如此 我开始学习并实现一个带有 REST 后端的简单登录页面 提交登录表单后 将返回一个身份验证令牌并将其设置为默
  • angularjs:timeout 在 $http POST 请求中不起作用

    我的代码中有以下代码片段 它为请求设置了以毫秒为单位的超时 但即使满足超时 它也不会取消 var httpURL method URLobj method url urlString data data withCredentials tr
  • jquery.find() 可以只选择直接子项吗?

    我应该向 jQuery find 提供什么参数来选择元素子元素而不选择其他元素 我不能用 gt 引导选择器 而用 将选择所有后代 而不仅仅是直接子代 我知道 jQuery children 但这是一个库 因此用户能够提供自己的选择器 并且我
  • 使用 Angular 下载具有动态 src 的脚本

    Angular 提供了通过动态名称动态加载模板的方法ng include 该部分中的内联 JS 和 CSS 可以正常加载 但没有一个好的方法来下载带有动态 url 的脚本 我们需要下载脚本 相对于调用它们的 html 部分的路径 即我们有一
  • Angular.js,如何将值从一个组件传递到任何其他组件

    我从 Angular js 开始 所以如果我解释得不够 我会将其添加到问题中 请告诉我 I have A component js A template html B component js B template html A compo
  • 将函数传递给指令以在链接中执行的正确方法

    我知道我们通常通过隔离范围将函数传递给指令 directive myComponent function return scope foo 然后在模板中我们可以这样调用这个函数

随机推荐

  • 如何将 .NET Core 2.2 Web API 迁移到 .NET Core 3.0?

    我正在关注微软的迁移指南 但失败了 因此 我使用 NET 2 2 创建了一个新项目来建立一个干净的模板 然后尝试迁移到 NET Core 3 0 但它再次失败了 在里面Startup cs 依赖注入找不到方法services AddMvc
  • 导航栏左侧按钮的问题

    我在导航栏的左侧有一个按钮 我在该按钮附近还有一个 UIButton 现在 当我单击导航栏下方的按钮时 在许多情况下 会单击导航栏上的按钮 知道为什么会发生这种情况吗 有什么建议 Thanks 图像 如果单击红色按钮内的任意位置 导航栏左上
  • Java中如何将int[]转换为List

    我如何转换int into List
  • 状态变量在页面上显示之前不会存储 JSON 响应

    Context 我正在使用使用 Async Await 的 Axios 从 GET 请求中检索 JSON 响应 它存储在一个名为的状态变量中tutorDetails内useMemo钩 我正在访问 React JSX 中存储的状态变量retu
  • 通过忽略某些字符来比较两个字符串

    我想知道是否有一种简单的方法可以通过排除字符串中的某些字符来检查两个字符串是否匹配 请参见下面的示例 我可以轻松地编写这样的方法 通过编写正则表达式来查找 通配符 字符 并用常见字符替换它们 然后比较两个字符串str1和str2 我并不是在
  • Parrot VM 对最终用户有什么好处?

    这样做有什么好处鹦鹉虚拟机对于最终用户 软件开发人员 例如 如果我可以直接针对 Perl 或 Python 进行编程 为什么我还要在 Parrot 下为它们进行编程呢 基本上 VM 的典型优点 可移植性 运行时优化等 从主页 一旦程序被编译
  • 创建后台线程用于核心数据写入

    我正在尝试重新创建这篇 cocoanetics 文章中描述的三层核心数据系统 http www cocoanetics com 2012 07 multi context coredata 我遇到的问题是在其自己的后台线程上创建私有 MOC
  • php 无法解析符号链接

    php 似乎没有解析符号链接 我试图将符号链接的目标添加到 php 文件中的包含路径 但 php 似乎无法识别符号链接指向目录 因此无法找到我想要包含的文件 对于上下文 这里是相关目录详细信息 gt pwd var www siteroot
  • 如何在 Scala 中使用 Java 包 com.example...object

    如何引用名称中包含对象 例如 Scala 中的 com example object 的 Java 包 Scala 将对象视为保留字并抱怨 将保留字放在反引号内 如下所示 com example object
  • 、 的香草自定义元素中继器
  • 我目前正在尝试实现一个中继器WebComponent让公司可以轻松创建前端而不依赖于任何framework 由架构决定 这是我当前的代码 ul ul
  • Paging .net MVC - 无需从WebService下载所有记录

    我有以下问题 我想要进行良好的分页 但我不想将所有记录从 WebService 下载到我的应用程序 控制器代码 public ActionResult Vacations int page int pageNumber page 1 int
  • 如何取消隐藏被覆盖的函数?

    假设我有自己的函数 名为zeros在Matlab路径上 现在我想调用内置的zeros 我怎样才能做到这一点 Use the builtin功能 builtin function arg1 argN 在你的情况下 例如 builtin zer
  • 传单在地图上固定大小的圆圈

    我正在使用 leaflet js 创建一些标记和圆圈 我正在使用下面给出的代码来绘制圆圈 L circle lat lng 1000 color colorCode stroke false fillColor colorCode fill
  • 无法解析 Firebase 库 android

    我正在开发适用于 Android 的 firebase 同步项目时出现错误 错误 27 13 无法解析 com google firebase firebase auth 10 2 0错误 无法解析 com google firebase
  • SQLiteOpenHelper.getWritableDatabase() 的 nullPointerException,Android

    我正在尝试让 SQLite 数据库在 Android 上工作 在 MainActivity 中编写了一个小测试 其中包括在数据库一行的 3 列中输入值 之后 数据被读回并显示到屏幕上以验证其是否有效 但是我在 SQLiteOpenHelpe
  • 如何在名为 key for hibernate 的列名称中添加反引号

    我有一个 MySQL DB 表 我无法修改该表 但必须向其中插入值 它有一个名为key我需要插入其中 现在 我的 hbm xml 文件有
  • 在Android Studio中添加JsonPath导致非零退出值2错误

    当我添加JsonPath库到我的 Android Studio 1 4 项目时出现以下错误 Error Execution failed for task app dexDebug gt com android ide common pro
  • 垃圾邮件中的 JavaScript;它想做什么?

    我收到一封带有 htm 附件的垃圾邮件 我在 Linux 机器上的 gedit 中打开该文件并看到以下内容 它尝试运行的脚本会执行任何操作吗 它看起来无害 但却令人困惑 h1 Loadin h1
  • 如何将幻灯片从一个演示文稿复制到另一个演示文稿?

    我正在尝试从源演示文稿复制幻灯片并将其附加到目标演示文稿的末尾 我已经搜索过解决方案 但他们使用谷歌应用程序脚本 我正在寻找一个可以使用谷歌幻灯片或谷歌驱动器 REST API 的解决方案 到目前为止 我尝试的是获取源演示文稿幻灯片的每个元
  • Spotify 的重定向 URI 无效

    我正在尝试让 Spotify API 与 AngularJS 一起使用 我在授权阶段收到无效的重定向 URI 错误 https developer spotify com web api authorization guide 我已将red