2014-05-21 4 views
0

github 저장소의 Java 샘플에 지정된 scribe-java OAuth 인코딩 코드를 사용하여 전체 주소로 전달하는 location 매개 변수를 사용하여 Yelp v2 검색 api에 요청을 설정했습니다. .위치 오류에 Yelp API 400을 사용할 수 없음

미국의 로컬 주소를 검색하려고하지만 localhost에서 실행중인 응용 프로그램을 통해 400 (UNAVAILABLE_FOR_LOCATION)을 얻고 있습니다.

이상한 부분은 내 응용 프로그램이 생성 한 URL (OAuth 서명 이후)을 브라우저에 붙여 넣으면 요청이 성공하고 필요한 데이터가 표시된다는 것입니다.

내 요청에 사용자 에이전트 헤더를 추가하려고 시도했으나 (이 동작이 발생하는 이유는 무엇입니까?), 아무 소용이 없습니다.

누구든지이 오류를 해결했거나이 문제를 해결하는 방법에 대한 아이디어가 있습니까? Yelp 지원 Google 그룹은 쓸모가 없습니다.

답변

0

같은 문제에 직면 한 사람들은 Scribe 라이브러리가 보내기 전에 URL의 공백을 % 20으로 인코딩한다는 점에 대한 답입니다.

이러한 엔티티는 Yelp API에 의해 올바르게 처리되지 않으며 결국 위치 값에 대한 의미없는 문자열로 처리됩니다. 이것이 UNAVAILABLE_FOR_LOCATION 응답이 있었던 이유입니다. % 20을 공백으로 다시 바꾸면 모두 정상적으로 작동합니다.