gpt4 book ai didi

javascript - Spotify API 400 错误 仅支持有效的承载身份验证

转载 作者:太空宇宙 更新时间:2023-11-03 22:25:51 25 4
gpt4 key购买 nike

我正在尝试使用 Spotify API 来获取我的顶级艺术家和歌曲的数据。我按照此处的授权代码示例 https://github.com/spotify/web-api-auth-examples 。授权有效,我可以登录并查看我的基本信息,现在我正在尝试获取我的顶级艺术家,但我收到 400 错误:“仅支持有效的不记名身份验证”。

这是我的代码

    app.get('/get_top_artists', function(req, res) {
var authString = 'Basic' + new Buffer(client_id + ':' + client_secret).toString('base64')
var authOptions = {
url: 'https://api.spotify.com/v1/me/top/artists',
headers: {
'Authorization': authString
}, function(res) {
console.log(res)
}
};

request.post(authOptions, function(error, response, body) {
if (!error && response.statusCode === 200) {
var get_top_artists = body.get_top_artists;
res.send({
'get_top_artists': get_top_artists
});
}
});
})

编辑

    app.get('/get_top_artists', function(req, res) {
console.log('top artists');

var authOptions = {
url: 'https://accounts.spotify.com/api/token',
form: {
redirect_uri: redirect_uri,
grant_type: 'authorization_code'
},
headers: {
'Authorization': 'Basic ' + (new Buffer(client_id + ':' + client_secret).toString('base64'))
},
json: true
};

request.post(authOptions, function(error, response, body) {
console.log('request')
if (!error && response.statusCode === 200) {

var access_token = body.access_token,
refresh_token = body.refresh_token;
var options = {
url: 'https://api.spotify.com/v1/me/top/artists',
headers: { 'Authorization': 'Bearer ' + access_token },
json: true
};

// use the access token to access the Spotify Web API
request.get(options, function(error, response, body) {
console.log('request 2')
console.log(body);
});
}
});
})

最佳答案

正如您在示例中看到的,您需要首先使用基本 header 进行调用,然后获取获得的响应,然后调用 API。您似乎正在尝试使用基本凭据调用 API,但这不起作用。

https://github.com/spotify/web-api-auth-examples/blob/master/authorization_code/app.js#L73-L102

关于javascript - Spotify API 400 错误 仅支持有效的承载身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46556195/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com