문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.
___ id 940389
@GetMapping(“/custom-action”)
public String customAction(Model model, HttpSession session) {
String accessToken = (String) session.getAttribute(“accessToken”);
if (accessToken != null) {
System.out.println(“전송”);
System.out.println(accessToken);
model.addAttribute(“accessToken”, accessToken); // 모델에 accessToken 추가
try {
// 카카오톡 메시지를 보내는 API 엔드포인트 URL
String url = "https://kapi.kakao.com/v2/api/talk/memo/default/send";
// 메시지 내용
String message = "안녕하세요, 카카오톡 메시지를 보내는 예제입니다!";
// 카카오톡 API 요청에 필요한 헤더 설정
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Bearer " + accessToken);
// 카카오톡 메시지 전송을 위한 요청 본문 설정
HttpEntity<String> request = new HttpEntity<String>(message, headers);
// RestTemplate 객체 생성
RestTemplate restTemplate = new RestTemplate();
// POST 요청으로 메시지 전송
ResponseEntity<String> response = restTemplate.exchange(url, HttpMethod.POST, request, String.class);
if (response.getStatusCode().is2xxSuccessful()) {
// 메시지 전송 성공
System.out.println("카카오톡 메시지가 성공적으로 전송되었습니다!");
} else {
// 메시지 전송 실패
System.out.println("카카오톡 메시지 전송 실패. 상태 코드: " + response.getStatusCodeValue());
}
} catch (HttpClientErrorException e) {
// HttpClientErrorException 발생 시, 에러 메시지 출력
System.out.println("카카오톡 API 호출 오류: " + e.getMessage());
System.out.println("상태 코드: " + e.getStatusCode());
System.out.println("에러 응답 바디: " + e.getResponseBodyAsString());
} catch (Exception e) {
// 그 외 다른 예외 발생 시, 에러 메시지 출력
e.printStackTrace();
}
}
else {
// 세션에 accessToken이 없는 경우 또는 값이 비어있는 경우
System.out.println("토큰이 없습니다.");
}
return "home";
}
카카오톡 API 호출 오류: 401 Unauthorized
상태 코드: 401
에러 응답 바디:
권한 부여 문제일까여…