如何从 Spotify API 请求刷新和访问令牌?

时间:2021-05-10 22:23:16

标签: javascript reactjs react-native api oauth-2.0

我一直在尝试按照 Spotify 授权指南从学校项目的 Spotify API 接收访问令牌。我正在遵循授权代码流程,并且已经让我的应用程序提示用户登录以授权访问。我非常有信心我已经有了要交换访问令牌的授权代码。根据授权指南,“收到授权码后,您需要通过向 Spotify 帐户服务发出 POST 请求来将其与访问令牌交换...”

这就是我正在尝试的:

const _getToken = async (code) => {

    const result = await fetch('https://accounts.spotify.com/api/token', {
        method: 'POST',
        headers: {
            'Content-Type' : 'application/x-www-form-urlencoded',
            'Authorization' : 'Authorization: Basic ' + encode(CLIENT_ID + ':' + CLIENT_SECRET)
        },
        body: {
            'grant_type' : 'authorization_code',
            'code' : code,
            'redirect_uri' : 'exp://localhost:19000/--/'
        }
    });

    const data = await result.json();
    console.log(data);
    return data.access_token;

这是控制台中记录的内容:

<块引用> <块引用>

Object { "error": "unsupported_grant_type", "error_description": “grant_type 参数丢失”, }

这令人困惑,因为 Spotify 授权指南似乎建议 grant_type 参数应为 authorization_code(以下文档的屏幕截图)。

Spotify Authorization Guide -- documentation for requesting access token

任何建议将不胜感激!

0 个答案:

没有答案