spotify web api的身份验证不起作用

spotify web api的身份验证不起作用,spotify,Spotify,我正在使用spotify web api编写一个应用程序供个人使用。它是一个node.js应用程序。我调用accounts.spotify.com/authorize端点并被重定向到spotify登录,但我无法使用Facebook或spotify用户名/密码登录 当我尝试通过Facebook登录时,会出现以下错误:应用程序未设置:此应用程序仍处于开发模式,您无权访问它。切换到已注册的测试用户或向应用程序管理员请求权限。当我尝试使用spotify用户名/密码登录时,会出现以下错误:哎呀!出现问题,

我正在使用spotify web api编写一个应用程序供个人使用。它是一个node.js应用程序。我调用accounts.spotify.com/authorize端点并被重定向到spotify登录,但我无法使用Facebook或spotify用户名/密码登录

当我尝试通过Facebook登录时,会出现以下错误:应用程序未设置:此应用程序仍处于开发模式,您无权访问它。切换到已注册的测试用户或向应用程序管理员请求权限。当我尝试使用spotify用户名/密码登录时,会出现以下错误:哎呀!出现问题,请重试或查看我们的帮助区域

这是代码。除了重定向到spotify登录,它在这一点上没有什么作用。我修改了客户端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);
    });

}

感谢jooon在评论中提出的建议,如果我的服务器返回一个页面,该页面仅使用正确的参数将浏览器重定向到https:/accounts.spotify.com/authenticate,则验证流工作正常,从而导致spotify调用我的回调URL

这里是spotify URL硬编码和我的客户端id和重定向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();
}

这在URL中是正确的吗?否,我取出了真实的客户端id和重定向uri,并将其替换为已编辑的文本。请尝试/authorize URL并通过在浏览器中打开它来授权您的应用程序,好吗?如果登录后发生错误,则应在开发人员控制台中显示错误说明。检查网络和/或控制台。一个常见问题是,授权时使用的重定向URI尚未添加到应用程序中,因此我会再次检查。当我将带有所有参数的/authorize URL直接输入浏览器并在浏览器中完成手动步骤时,spotify会重定向到指定的URL。spotify上的应用程序似乎设置正确。如果这不起作用,当浏览器在我的服务器上点击一个URL,我向spotify发出请求时,当我将spotify的初始响应发送回浏览器时,我认为我做错了什么。谢谢你的帮助。当我从服务器向spotify发送请求时,我仍在试图找出为什么我无法使它工作。有什么想法吗?