createError.js:16未捕获(承诺)错误:请求失败,状态码为400

时间:2020-05-14 11:05:55

标签: javascript node.js reactjs axios

我正在尝试从youtube API获取数据,但收到像 此:请求失败,状态代码为400。在Youtube.js中的代码下方

import axios from 'axios';
const KEY = 'AIzaSyDg1vwi_QOn6zNEaFGL8OWTGD2qWAEDnvE';

export default axios.create({
   baseURL: 'https://www.googleapis.com/youtube/v3',
   params: {
      part: 'snippet',
      maxResults: 5,
      key: KEY
   }
})

然后将其导入App.js中,并导入到App.js中的以下代码中

import React from 'react';
import SearchBar from './SearchBar';
import Youtube from '../Api/Youtube';

class App extends React.Component {

  onSearchSubmit = async (term) => {
    const response = await Youtube.get('/search', {
      params: {
        q: term
      }
    })

    console.log(response)
  }
  render() {
    return (
       <div className="ui container" style={{ marginTop: '20px' }}>
        <SearchBar Akib={this.onSearchSubmit} />
      </div>
    )
  }
}

export default App;

1 个答案:

答案 0 :(得分:0)

尝试将api.js中存在的参数放入app.js中,以便app.js代码中的代码最终会是这样,毕竟,当您运行应用程序时,请在Google开发人员的网络请求中查看工具(ctrl + shift + i)并查找您发送的参数:

const KEY = 'AIzaSyBG9i-nVtQ5riZkaCwz4iTC1neYb5-G9A8';

    youtube.get('/search',{
        params :{
            q:term,
            key :KEY,
            part: 'snippet',
            maxResults : 5,