안녕하세요 Android 로 지도 관련 앱을 제작 하고 있습니다.
참 쉬운 것인데 제목에서 쓴것 처럼 java.io.FileNotFoundException 오류가 나서 진행이 되고 있지 않네요
사용하려는 api 는 아래와 같습니다.
주소 검색Copy URL
주소를 지도 위에 정확하게 표시하기 위해 해당 주소의 좌표 정보를 제공합니다. 주소 유형에 구분없이 변환할 수 있으며, 주소에 해당하는 지번 주소, 도로명 주소, 좌표, 우편번호, 빌딩명 등의 다양한 정보를 함께 제공하여 다양하게 활용할 수 있습니다.
[Request]
GET /v2/local/search/address.{format} HTTP/1.1
Host: dapi.kakao.com
Authorization: KakaoAK {app_key}
앱키를 헤더에 담아 GET으로 요청합니다. 원하는 검색어와 함께 결과 형식 파라미터의 값을 선택적으로 추가할 수 있습니다.
실제 구현한 소스는 아래와 같습니다.
String query = "ABC";
URL url = new URL("https://dapi.kakao.com/v2/local/search/address.json?query="+query);
HttpURLConnection con = (HttpURLConnection) url.openConnection();
con.setRequestMethod("GET");
con.setDoOutput(true);
con.setDoInput(true);
InputStream is = con.getInputStream();
BufferedReader br = new BufferedReader(new InputStreamReader(is));
con.getInputStream(); 에서 에러가 납니다.
에러 메세지는 아래와 같습니다
03-23 13:33:00.274 3113-4440/com.jushine.findmask E/joseph: Error IOException ~~~~~~~~~~~~~~~~~~~~~~~~~~
03-23 13:33:00.274 3113-4440/com.jushine.findmask W/System.err: java.io.FileNotFoundException: https://dapi.kakao.com/v2/local/search/address.json?query=ABC
03-23 13:33:00.275 3113-4440/com.jushine.findmask W/System.err: at com.android.okhttp.internal.huc.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:251)
03-23 13:33:00.275 3113-4440/com.jushine.findmask W/System.err: at com.android.okhttp.internal.huc.DelegatingHttpsURLConnection.getInputStream(DelegatingHttpsURLConnection.java:210)
03-23 13:33:00.275 3113-4440/com.jushine.findmask W/System.err: at com.android.okhttp.internal.huc.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:26)
03-23 13:33:00.275 3113-4440/com.jushine.findmask W/System.err: at com.bora.app.view.SearchMapView$4.doing(SearchMapView.java:676)
저 Request 는 헤더에 앱키를 넣어 줘야하는데
넣지 않으면 이런 에러메세지를 응답 받아햐 하는데
{“errorType”:“AccessDeniedError”,“message”:“cannot find Authorization : KakaoAK header”}
FileNotFoundException 에러가 나니 많이 난감하네요
굉장히 초보적인 질문이긴 하지만
보시고 답변 주시면 감사하겠습니다.