gpt4 book ai didi

node.js - 请求从 Spotify Web API 获取用户信息导致 401 错误

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

我想使用 Spotify API 检索用户的信息。我已经想办法获取访问 token 。首先,我从 Spotify 获取授权代码,然后将其发送到生成访问 token 的端点,这看起来是这样...

const access = async (req, h) => {

// URL to retrieve an access token.
const spotify_url = "https://accounts.spotify.com/api/token";

// Send authorization code to spotify.
const response = await axios({
method: "post",
url: spotify_url,
params: {
grant_type: "authorization_code",
code: req.query.auth_code,
redirect_uri: process.env.REDIRECT_URI
},
headers: {
"Content-Type": "application/x-www-form-urlencoded",
"Authorization": "Basic " + (Buffer.from(process.env.CLIENT_ID + ":" + process.env.CLIENT_SECRET).toString("base64"))
}
})
.then(response => {

// Retrieve access and refresh tokens.
let access_token = response.data.access_token;
let response_token = response.data.refresh_token

return {
access_token: access_token,
response_token: response_token
}

})
...
...
return result

我没有添加所有代码,但它工作得很好。返回的是访问 token 刷新 token

我正在使用 Hapi.js,因此我将其放入 pre 处理程序中,并将 访问 token 发送到另一个处理程序/函数,该处理程序/函数然后使用访问 token 检索用户的信息...

const user_account = async (access_token) => {

const user = await axios.get("https://api.spotify.com/v1/me", {
header: {
"Authorization": "Bearer " + access_token
}
})
.then(response => {

// Return the full details of the user.
return response;

})
.catch(err => {
throw Boom.badRequest(err);
});

return user;
}

问题是我收到 401 错误。

UnhandledPromiseRejectionWarning: Error: Request failed with status code 401

看来我的访问 token 可能无效。这是我唯一能想到的,但是,我检查了并且发送了与第一个函数生成的相同的 token ,因此它应该是有效的。也许我格式化请求的方式是错误的。我不明白这是什么原因。

最佳答案

axios.get 请求中存在小拼写错误。将标题更改为标题

改变

 header: {
"Authorization": "Bearer " + access_token
}

 headers: {
"Authorization": "Bearer " + access_token
}

关于node.js - 请求从 Spotify Web API 获取用户信息导致 401 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52789358/

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