문의 시, 사용하시는 개발환경과 디벨로퍼스 앱ID를 알려주세요.
___ id940389
@GetMapping(“/send”)
public String send(Model model, HttpSession session){
String accessToken = (String) session.getAttribute(“accessToken”);
List friendsList = (List) session.getAttribute(“friendsList”);
System.out.println(friendsList);
if (friendsList != null && !friendsList.isEmpty() && accessToken != null) {
// 카카오톡 메시지 API 엔드포인트 URL
String url = "https://kapi.kakao.com/v2/api/talk/memo/default/send";
// 카카오톡 API 요청에 필요한 헤더 설정
HttpHeaders headers = new HttpHeaders();
headers.set("Authorization", "Bearer " + accessToken);
headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
// 메시지 내용 설정
String text = "친구에게 보낼 메시지 내용입니다.";
String webUrl = "https://www.google.com"; // 웹 링크 URL을 여기에 넣으세요.
String mobileWebUrl = "https://m.google.com"; // 모바일 웹 링크 URL을 여기에 넣으세요.
for (String friendUUID : friendsList) {
try {
// 카카오톡 메시지 전송을 위한 요청 본문 설정
String templateObject = "{\"object_type\":\"text\",\"text\":\"" + text + "\",\"link\":{\"web_url\":\"" + webUrl + "\",\"mobile_web_url\":\"" + mobileWebUrl + "\"}}";
MultiValueMap<String, String> map = new LinkedMultiValueMap<String, String>();
map.add("receiver_uuids", friendUUID);
map.add("template_object", templateObject);
HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<MultiValueMap<String, String>>(map, headers);
// POST 요청으로 메시지 전송
ResponseEntity<String> response = new RestTemplate().exchange(url, HttpMethod.POST, requestEntity, 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이 없거나 friendsList가 null인 경우
System.out.println("토큰이 없거나 친구 목록이 없습니다.");
// 예외 처리 필요
}
return "home"; // 화면으로 이동하거나, 결과를 출력하는 방식에 맞게 수정
}
이렇게 친구에게 보내기하는데 왜 자꾸 저한테 보내지는지모르겠어요 uuid이용하는거 아닌가요?