Rest api 이용중 401에러가 뜨는 현상 문의

안녕하세요.
REST API로 java에서 주소로 좌표값 받는 기능을 구현중에 있습니다.

— 소스 —

               String location = "경기도 수원시 장안구";
                String addr = "https://dapi.kakao.com/v2/local/search/address.json";	 
            String apiKey = "KakaoAK REST API 키";
 
            location = URLEncoder.encode(location, "UTF-8");
 
            String query = "query=" + location;
            
            StringBuffer stringBuffer = new StringBuffer();
            stringBuffer.append(addr);
            stringBuffer.append("?");
            stringBuffer.append(query);
            
            System.out.println("stringBuffer.toString() "+ stringBuffer.toString());
            
            URL url = new URL(stringBuffer.toString());
            
            URLConnection conn = url.openConnection();
            
            conn.setRequestProperty("Authorization", apiKey);
            
            BufferedReader rd = null;
            
     >>>>>   rd = new BufferedReader(new InputStreamReader(conn.getInputStream(),"UTF-8"));
            StringBuffer docJson = new StringBuffer();
            
            String line;
            
            while((line=rd.readLine())!=null){
                docJson.append(line);
            }
            
            if(0<docJson.toString().length()){
                System.out.println("docJson    :"+docJson.toString());
                
            }
            
            System.out.println(docJson);

해당 소스에서 >>> 표시되어있는 rd 부분에서 디버깅을 하면
java.io.IOException: Server returned HTTP response code: 401 for URL: https://dapi.kakao.com/v2/local/search/address.json?query= % EA%B2%BD%EA%B8 %B0%EB%8F%84+%EC%88% 98%EC%9B%90% EC%8B%9C+%EC%9E% A5%EC%95%88%EA%B5%AC
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1894)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263)
at egovframework.example.sample.web.EgovSampleController.getAddress_Map(EgovSampleController.java:121)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)

이런 에러가 납니다.

REST API키가 잘못된건지… 원인을 몰라 문의 드립니다…

으음… 일단 401이면 키 값이 잘못 넘어갔을 경우를 의심해 봐야 합니다.

어떤 키를 사용하신 건가요?
문의주신 계정에 등록된 앱 중에서
401 에러가 발생한 케이스를 보면 지도호출 시 domain mismatch 가 발생했던 것만 확인이 되는데요

실제 사용하신 키가 잘 넘어갔는지 체크해보셔야 할 듯합니다.

REST API 키를 사용하였습니다.
KakaoAK 를 키 앞에 붙여서 보내야 한다고 해서 KakaoAK도 붙였습니다.
제 로컬에서 사용중이라 포트도 붙인 주소를 사이트도메인에 추가하였습니다.
키가 잘 넘어갔는지 어떻게 확인할수 있는지요?
무엇을 더 해줘야하는지 잘 모르겠습니다 ㅠㅠ…

키 값이 잘 넘어갔는지 확인하는 방법이 어떤것이 있는지 알수있을까요?

401이 올 때 API 서버에서 같이 보내주는 에러 메시지가 있을 텐데요
뭐라고 나오나요?

이 곳 데브톡 검색을 통해서
질문자 분의 코드와
실제 통신에 성공한 코드를 비교해 보면

HttpsURLConnection conn = (HttpsURLConnection) url.openConnection();
		
conn.setRequestMethod("GET");

이 부분이 다르긴 합니다.

위에 말씀드린건 제가 Java의 해당 클래스 메소드를 잘 알지 못하는 상태에서 그냥 다른 점만 말씀드린 것이니
참고하시고 한 번 확인해 보세요.