【问题标题】:Can't retrieve spotify api token无法检索 spotify api 令牌
【发布时间】:2020-01-16 21:44:23
【问题描述】:

我正在使用 react-spotify-login 包,但在尝试授权应用程序时,我无法检索访问令牌。我的路由有效并且发送请求有效。我只是无法检索令牌。我刚刚开始学习 react,所以我希望这不是我容易忽视的东西。

import React, { Component } from 'react';
import SpotifyLogin from 'react-spotify-login';
import { clientId, redirectUri } from '../../Settings';
import { Redirect } from 'react-router-dom';




export class Login extends Component {
    render() {
        const onSuccess = ({ response }) => {
            //const { access_token: token } = response;
            console.log("[onSuccess]" + response);
            return <Redirect to='/home' />
        };

        const onFailure = response => console.error("[onFailure]" + response);

        return (
            <div>
                <SpotifyLogin
                    clientId={clientId}
                    redirectUri={redirectUri}
                    onSuccess={onSuccess}
                    onFailure={onFailure}
                />
            </div>
        );
    }
}
export default Login;

【问题讨论】:

  • 你是什么意思,“我只是无法检索令牌”?
  • response 是什么样的?它在控制台上打印什么?
  • 我在响应中收到错误“错误:'access_token'未找到”,我所说的“我不能只接收令牌”的意思是应用程序似乎正在正确路由到登录组件并发出请求,但我收到前面所述的错误而不是令牌
  • 更新:尝试在 App.js 文件中运行相同的代码时,会调用 OnSuccess 函数但未定义响应。
  • 我不知道具体的库,但从代码看来,onSuccess 期待您没有传递的参数。需要像 onSuccess={() =&gt; onSuccess({ response: setSomethingHere })} 这样的东西。除非图书馆只是应该返回响应?如果是这样,那么不要在函数中解构,只需使用单个参数并控制台记录您从中获得的任何内容

标签: javascript reactjs api spotify


【解决方案1】:

在您的方法中,您试图解构响应数据/对象并拉取不存在的字段“响应”,即未定义

改变

const onSuccess = ({ response }) => {

const onSuccess = (response) => {

【讨论】:

  • 按照您的指示操作,非常感谢您!
  • 我需要更多的声望来支持投票,但它已被标记为正确。
猜你喜欢
  • 2015-11-11
  • 1970-01-01
  • 1970-01-01
  • 2018-01-08
  • 2020-10-09
  • 1970-01-01
  • 2018-03-15
  • 2019-09-04
  • 2021-10-11
相关资源
最近更新 更多