我正在使用spotify web api编写应用程序供个人使用。它是node.js应用程序。我调用accounts.spotify.com/authorize端点并重定向到spotify登录,但我无法使用Facebook登录或发现用户名/密码。
当我尝试通过Facebook登录时,我收到此错误:“App Not Setup:此应用程序仍处于开发模式,您无法访问它。切换到已注册的测试用户或询问应用程序管理员的权限。“当我尝试使用spotify用户名/密码登录时,我收到此错误:“哎呀!出了点问题,请再试一次或查看我们的帮助区域”
这是代码。除了重定向到spotify登录之外,此时它没有做太多工作。我编写了client_id和重定向URL。如果我直接在浏览器中输入重定向URL,则可以访问该重定向URL。我相信,因为我正在获得spotify登录页面,所以我在正确的球场,但可能会错过应用程序设置或代码中的内容。
有人可以告诉我如何解决这个错误吗?感谢。
var request = require('request');
function SpotifyLogin(req,res)
{
var options =
{
url: 'http://accounts.spotify.com/authorize/?client_id=<redacted>&response_type=code&redirect_uri=<redacted>&scope=user-read-private&state=34fFs29kd09&show_dialog=true',
followAllRedirects: true,
followRedirect: true
};
request(options, function(error, response, body)
{
res.send(body);
console.log(body);
console.log(response.toJSON());
}).on('error', function(e) {
res.setHeader('Content-Type', 'text/html');
res.send("<html><body>"+ e.message +"</body></html>");
console.log("Got error: " + e.message);
});
}
答案 0 :(得分:0)
感谢jooon在评论中提出建议,如果我的服务器返回的页面只是将浏览器重定向到https:/accounts.spotify.com/authenticate并使用正确的参数,则认证流程正常工作,从而导致Spotify调用我的回调网址。
这里是spotify网址硬编码,我的client_id和redirect_url隐藏。
function SpotifyLogin(req, res)
{
res.writeHead(302, {
'Location': encodeURI("https://accounts.spotify.com/authorize/?client_id=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&response_type=code&redirect_uri=http://xxxxxxx/callback/&scope=playlist-read-private playlist-read-collaborative playlist-modify-public playlist-modify-private streaming user-follow-modify user-follow-read user-library-read user-library-modify user-read-private user-read-birthdate user-read-email&state=34fFs29kd09&show_dialog=true")
});
res.send();
}