Spotify授权中无效的重定向URI

73
我试图通过 Spotify Web API 在我的应用中对用户进行身份验证,但我收到了这个错误:
INVALID_CLIENT: Invalid redirect URI

网址:

GET https://accounts.spotify.com/authorize/?client_id=6ae90bf75bf748c8874a75d16682f0c5&response_type=code&redirect_uri=https%3A%2F%2Fexample.com%2Fcallback&scope=user-read-private%20user-read-email

我看不到问题出在哪里... 你能帮忙吗?

10个回答

119

1
好的,我已将该URL添加到白名单中,但我仍然收到相同的错误。 - realdark
10
我忘记在redirect_uri后面添加正斜杠。重定向网址需要与白名单中的网址相同。感谢mallendeo的帮助。 - realdark
4
那又怎样?我在运营客户端,而不是服务器。 - CashCow
1
Spotify 应用程序面板 > 编辑设置 > 添加 URL - Survivor - 2012
完美运作! - Marcos Mendes
如果这个解决方案不起作用,请尝试重置浏览器缓存。这对我有用(我刚刚改用了Chrome的隐身模式)。 - mochomecha

33

1
这个答案在2020年仍然相关,并解决了我的问题,谢谢。 - 10110

7

转到你的Spotify开发者控制面板并打开你正在使用的项目。

接下来点击“编辑设置”,查找重定向URI字段。

将你的重定向URI放入该字段中。例如:http://localhost:8888/callback

点击保存。

一切应该都好了。


7

当通过授权码流进行身份验证时,我遇到了类似的问题。

根据文档 此参数的值必须与请求授权码时提供的 redirect_uri 的值完全匹配。 因此,请确保以下内容:

  1. 仪表板中配置的 redirect_uri
  2. GET https://accounts.spotify.com/authorize 中的 redirect_uri
  3. POST https://accounts.spotify.com/api/token 中的 redirect_uri

完全相同,否则您将收到 INVALID_CLIENT:Invalid redirect URI 的错误信息。


2
我使用JohnnyCrazy的SpotifyAPI-NET API封装器,尽管已经将我在封装器调用中指定的URL添加到白名单中,但仍然存在这个问题。
浏览器的地址栏应该显示重定向URL,在字符串中间被深埋着 - 我发现它也使用"https://accounts.spotify.com:8000/authorize"作为重定向URL发起请求 - 或许这个封装器正在进行两个API调用,但我发现只有将这个URL和我指定的那个URL都加入白名单才能为我工作。

2

第一步,您必须确定您正在使用来自 authorization_code 目录下的 app.js

第二步,请确保您已编辑了 app.js 文件。第三行非常重要。

var client_id = '---'; // Your client id
var client_secret = '---'; // Your secret
var redirect_uri = 'http://localhost:8888/callback'; // Your redirect uri - EXAMPLE


2

谢谢您。使用您使用的URL对我有用。使用8888没有起作用,因为我是从Jupyter笔记本中调用它(之前没有意识到)! - Desi Pilla

1
当请求中缺少redirect_uri时,也会出现此错误。我因为写成了"redirect_url" (带有L)而艰难地发现了这一点。
花费了我太长时间才弄清楚。希望这可以节省其他人的时间。

0
在第一对正斜杠后面包含一个路径。例如: 您的应用程序名称是“我的超棒应用程序”,重定向URI可能是 my-awesome-app-login://callback 或 awesomeprotocol123://returnafterlogin。 有关更多信息,请参阅此链接 Spotify Redirect URI Example

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接