나는 React에 매우 익숙하며 연습하기 위해 Yelp API에서 정보를 가져 오는 응용 프로그램을 작성하려고하지만 응답을 얻는데 어려움이 있습니다. Yelp Fusion v3에는 'access_token'이 필요합니다 (Postman에서 성공적으로 응답했습니다). 제 신청서에서이 요청을하려면 Axios를 사용하고 있습니다. 이 요청을 componentDidMount() 내에서 응답으로 받아 들일 때HTTP 요청 헤더 with componentDidMount
XMLHttpRequest는 https://api.yelp.com/v3/businesses/search?term=sushi&location=Boston을로드 할 수 없습니다. 프리 플라이트 요청에 대한 응답이 액세스 제어 검사를 통과하지 못합니다. 'Access-Control-Allow-Origin'헤더가 요청 된 자원에 없습니다. 따라서 원점 'http://localhost:8080'은 액세스 할 수 없습니다. (응용 프로그램의 일부가 아닌) 별도의 파일에 동일한 코드를 실행할 때 내가 잘못 access_token과 및 매개 변수를 지정하고 것처럼 보일 수 있지만 응답은 HTTP 상태 코드 (500)
있었다, 나는 JSON 응답을 얻을 내 앱에서 찾고있는
은 여기 내 componentDidMount()이다 : 나는뿐만 아니라 옐프 노드 모듈을 시도했습니다
componentDidMount: function() {
axios.get('https://api.yelp.com/v3/businesses/search?term=Sushi&location=Boston',{
headers: {
Authorization: `Bearer ${token}`
}
})
.then(function(res){
console.log(res)
})
.catch(function(err){
console.log(err)
})
},
,하지만 난 운이없는입니다. 도와주세요!
이것은 많은 의미가 있습니다. CORS 오류가 많이 발생하고 실제로 무엇인지 이해하지 못했습니다. 익스프레스를 사용하여 API를 설정하는 것이 가장 좋은 방법이라고 생각하십니까? (app.get()에서 요청하고 JSON을 반환하는 방법) – Serey
이렇게하면 yelp API 키를 보호 할 수 있습니다. 중요한 정보를 자바 스크립트 코드에 저장하지 마십시오. yelp API에 대한 비밀 키가있는 백엔드를 생성하고 응용 프로그램에 필요한 데이터를 제공합니다. 그것은 민감한 계획처럼 보입니다. ^^ – gretro
자신을 API로 만들었으니 이제는 완벽하게 작동합니다. 감사합니다. !!! – Serey