Axios GET 请求 Spotify API 返回 401
Posted
技术标签:
【中文标题】Axios GET 请求 Spotify API 返回 401【英文标题】:Axios GET request to Spotify API returning 401 【发布时间】:2021-08-08 23:30:22 【问题描述】:我使用了spotify web api reference 中提供的格式和直接从那里生成的访问令牌,但我不断收到 401 错误。怎么回事?
const accessToken = 'string from https://developer.spotify.com/console/get-current-user-playlists/?limit=50&offset=0';
console.log(accessToken);
axios
.get(
'https://api.spotify.com/v1/me/playlists',
params: limit: 50, offset: 0 ,
headers:
Accept: 'application/json',
Authorization: 'Bearer ' + accessToken,
'Content-Type': 'application/json',
,
)
.then((data) => console.log(data))
.catch((err) => console.log(err));
错误:
GET https://api.spotify.com/v1/me/playlists?limit=50&offset=0 401
【问题讨论】:
他们给您的curl
示例是否也返回401?如果是这样,您在创建令牌时是否为此请求选择了一个强制范围?
不,该示例运行良好,是的,我在获取令牌之前检查了范围“播放列表读取私有”范围。我添加了错误以供参考
【参考方案1】:
想通了。发布请求在第二个参数中有一个正文,在第三个参数中有一个标题。但是,获取请求只有 URL 参数和标头的第二个参数。所以我只需要将 2 个对象合二为一
【讨论】:
【参考方案2】:想通了。 Post 请求在第二个参数中有一个正文,在第三个参数中有一个标头。但是,获取请求只有 URL 参数和标头的第二个参数。所以我只需要将 2 个对象合二为一:
axios
.get(
'https://api.spotify.com/v1/me/playlists',
params: limit: 50, offset: 0 ,
headers:
Accept: 'application/json',
Authorization: 'Bearer ' + newAccessToken,
'Content-Type': 'application/json',
,
)
)
【讨论】:
以上是关于Axios GET 请求 Spotify API 返回 401的主要内容,如果未能解决你的问题,请参考以下文章
在 Express.js 上使用 Axios 向 Spotify API 发出 POST 请求时出现错误 400
Spotify API 错误 401 - 尝试将曲目放入用户的库中