#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);
});
};