Как я могу извлекать данные из yelp api в React JS?

#reactjs #api #yelp #yelp-fusion-api

#reactjs #API #yelp #yelp-fusion-api

Вопрос:

Я хочу извлекать данные из Yelp API в react JS. Я могу извлекать данные с помощью postman, но я не могу извлекать какие-либо данные с помощью своего кода. Вот код.

  componentDidMount = () => {
const API_BASE_URL =
  'https://cors-anywhere.herokuapp.com/https://api.yelp.com/v3/business/search?term=restaurantamp;location=usa';
const BEARER_TOKEN =
  'mybearertoken';

fetch(`${API_BASE_URL}`, {
  headers: {
    Authorization: `${BEARER_TOKEN}`,
    Origin: 'localhost:3000',
    withCredentials: true,
  },
})
  .then(res => res.json())
  .then(json => {
    this.setState({
      isLoaded: true,
      items: json,
    });
  });
  

};

Ответ №1:

попробуйте

 headers: {
      'Content-Type': 'application/json'          
    }
  

Комментарии:

1. Это не работает. Я могу извлекать данные из Yelp API с помощью этого параметра, используя postman, но я не могу сделать то же самое в своем приложении.

Ответ №2:

Я установил npm и использовал Axios, и это сработало.

 const fetchtems = async () => {
const data = await axios
  .get(
    `${'https://cors-anywhere.herokuapp.com/'}https://api.yelp.com/v3/businesses/search?location=usa`,
    {
      headers: {
        Authorization: `Bearer ${BEARER_TOKEN}`,
      },
      params: {
        term: 'restaurants',
      },
    },
  )

  .then(json => {
    setItems({ items: json.data.businesses });
  })
  .catch(err => {
    console.log(err);
  });
  

};