카카오 번역 API 사용 시 appKey 문제로 질문 드립니다

java로 번역 API를 사용하려는데 어려움이 있어 질문드립니다.
처음에 Authorization 문제로 고생을 해서 스택오버플로우에서 아래 링크를 찾아 그 문제는 해결 된 것 같습니다.
https://stackoverflow.com/questions/12732422/adding-header-for-httpurlconnection

헌데 자꾸 wrong app_key라는 401오류가 표시 됩니다.

{"msg":"wrong appKey(--=) format","code":-401}

잘 적은 거 같고 포맷도 제대로 된 거 같은데 뭐가 문제인걸까요?

아래는 제가 적은 코드 입니다.

public static void main(String[] args) 
{
   String apikey = "--";
	     try 
	        {
	            String text = URLEncoder.encode("안녕", "UTF-8");//번역될 문장     
	            String postParams = "src_lang=kr&target_lang=en&query="+text;             
	            String apiURL = "https://kapi.kakao.com/v1/translation/translate?"+postParams;
	            URL url = new URL(apiURL);
	            HttpURLConnection con = (HttpURLConnection)url.openConnection();            
	            String userCredentials = apikey;
	            String basicAuth = "KakaoAK "+new String(Base64.getEncoder().encode(userCredentials.getBytes()));
	             
	            con.setRequestProperty("Authorization", basicAuth);
	            con.setRequestMethod("GET");
	            //con.setRequestProperty("Content-Type", "application/json");
	            //con.setRequestProperty("Content-Language", "utf-8");
	            con.setUseCaches(false);
	            con.setDoInput(true);
	            con.setDoOutput(true);
	             
	            int responseCode = con.getResponseCode();
	            System.out.println("responseCode >> "+responseCode);
	            BufferedReader br;
	            if(responseCode==200) 
	            { // 정상 호출
	                br = new BufferedReader(new InputStreamReader(con.getInputStream())); 
	            } 
	            else 
	            {  // 에러 발생
	                br = new BufferedReader(new InputStreamReader(con.getErrorStream()));
	            }
	            String inputLine;
	            StringBuffer res = new StringBuffer();
	            while ((inputLine = br.readLine()) != null) 
	            {
	            	res.append(inputLine);
	            }
	            br.close();
	            System.out.println("sd>>  "+res.toString());
	 
	        }

@zozokjs 인증쪽 에러인데요, 개발자 웹사이트에서 발급받은 REST API key를 직접 Authorization 헤더에 넣어보세요.

String basicAuth = "KakaoAK "+new String(Base64.getEncoder().encode(userCredentials.getBytes()));

이부분을

final String basicAuth = "KakaoAK "+ yourRESTAPIKey; // yourRESTAPIKey는 내 애플리케이션>일반>설정에서 확인 가능

@michael
소중한 답변 정말 감사합니다! 덕분에 해결 되었어요!

1개의 좋아요