@Service(“userkakaoService”)
public class UserKakaoServiceImpl implements UserKakaoService {
@Override
public String getAccessToken(String authorize_code) {
String access_Token = "";
String refresh_Token = "";
String reqURL = "https://kauth.kakao.com/oauth/token";
try {
URL url = new URL(reqURL);
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//POST 요청을 위해 기본값이 false인 setDoOutput을 true로
conn.setRequestMethod("POST");
conn.setDoOutput(true);
//POST 요청에 필요로 요구하는 파라미터 스트림을 통해 전송
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(conn.getOutputStream()));
StringBuilder sb = new StringBuilder();
sb.append("grant_type=authorization_code");
sb.append("&client_id=e11e0bca2855ad3abc123dc69e2a7bf7");
sb.append("&redirect_uri=http://localhost:8181/Fitnesscare/kakaoredirect.do");
sb.append("&code=" + authorize_code);
bw.write(sb.toString());
// 결과 코드가 200이라면 성공
int responseCode = conn.getResponseCode();
System.out.println("responseCode :" + responseCode);
// 요청을 통해 얻은 JSON타입의 Response 메세지 읽어오기
BufferedReader br = new BufferedReader(new InputStreamReader(conn.getInputStream()));
String line = "";
String result = "";
while ((line = br.readLine()) != null) {
result += line;
}
System.out.println("response body : " + result);
//Gson 라이브러리에 포하모딘 클래스로 JSON파싱 객체 생성
JsonParser parser = new JsonParser();
JsonElement element = parser.parse(result);
access_Token = element.getAsJsonObject().get("access_token").getAsString();
refresh_Token = element.getAsJsonObject().get("refresh_token").getAsString();
br.close();
bw.close();
}catch (IOException e) {
e.printStackTrace();
}
return access_Token;
}
}
java.io.IOException: Server returned HTTP response code: 401 for URL: https://kauth.kakao.com/oauth/token
라는 에러나 나오네요
어떻게 해결해야 할까요?