【发布时间】:2020-01-04 16:01:27
【问题描述】:
我正在开发一个需要与 Spotify API 连接的 Next.js 网络应用。我成功获得了authorization_code,但我在api/token 端点上收到了400 错误。
我已经尝试在 fetch 调用中将 body 替换为 params 和 data。我还尝试将 JSON 解析为 const,然后再将其传递给 fetch。
try {
const res = await fetch('https://accounts.spotify.com/api/token', {
method: 'POST',
mode: 'no-cors',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
Authorization: `Basic ${process.env.SPOTIFY_CREDS_BASE_SIXTYFOUR}`,
},
body: JSON.stringify({
grant_type: 'authorization_code',
code: authCode,
redirect_uri: process.env.SPOTIFY_REDIRECT_URI,
client_id: process.env.SPOTIFY_CLIENT_ID,
client_secret: process.env.SPOTIFY_CLIENT_SECRET,
}),
});
const data = await res.json();
dispatch({ type: GET_NEW_ACCESS_TOKEN_SUCCESS });
} catch (error) {
console.error('getNewTokens() ERROR', error);
dispatch({ type: GET_NEW_ACCESS_TOKEN_FAILURE });
}
我希望收到访问令牌,但我看到的是:
VM538:1 POST https://accounts.spotify.com/api/token 400 (Bad Request)
和
getNewTokens() ERROR SyntaxError: Unexpected end of input
at _callee$ (AuthActions.js:37)
at tryCatch (runtime.js:45)
at Generator.invoke [as _invoke] (runtime.js:271)
at Generator.prototype.<computed> [as next] (runtime.js:97)
at asyncGeneratorStep (asyncToGenerator.js:5)
at _next (asyncToGenerator.js:27)
【问题讨论】:
标签: reactjs fetch spotify next.js