我正在编写一个Java应用程序,它与Spotify Web API一起使用,以获取当前正在播放的专辑的专辑图片(以及未来可能的其他内容,因此是一长串的范围)。每Spotify's guide,我必须使用回调才能获得访问令牌。但是,在使用授权链接时,Spotify会向我提供以下非常有用且富有洞察力的错误消息。 Spotify Error Message
我用来打开窗口的代码是
if(Desktop.isDesktopSupported())
{
String url = "https://accounts.spotify.com/authorize/";
url += "client_id="+SpotifyClientID;
url += "&response_type=code";
url += "&redirect_uri=http%3A%2F%2Flocalhost%3A8888%2Fcallback%2F";
url += "&state="+state;
url += "&scope=playlist-read-private%20playlist-read-collaborative%20user-library-read%20user-read-private%20user-read-playback-state%20user-modify-playback-state%20user-read-currently-playing";
Desktop.getDesktop().browse(new URI(url));
}
已经询问了{p> Similar questions,他们的问题是他们的回调网址未列入白名单;但是,我去了Spotify Dashboard并确定http://localhost:8888/callback/是whitelisted。我已尝试直接在网址中使用“http://localhost:8888/callback/”,我也尝试使用HTML转义它,使其成为“http%3A%2F%2Flocalhost%3A8888%2Fcallback%2F”,如图所示上面的代码。任何人都可以告诉我为什么会出现错误消息而不是登录页面吗?
答案 0 :(得分:-2)
自己想出来。事实证明,我在链接上 awesome 。 / s将“https://accounts.spotify.com/authorize/”中的最后一个'/'更改为'?'所以它实际上会接收我传递的参数并且它完美地工作。