카카오톡 친구에게 메시지 보내

문의 시, 사용하시는 개발환경과 디벨로퍼스 앱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이용하는거 아닌가요?

위 주소는 나에게 보내기 API 주소 입니다.
친구에게 보내기 API 주소는 /v1/api/talk/friends/message/default/send 입니다.

카카오톡 API 호출 오류: 400 Bad Request
상태 코드: 400
에러 응답 바디: {“msg”:“failed to parse parameter. name=receiver_uuids, stringToParse=-, paramString=-, paramStringAlias=null”,“code”:-2}
카카오톡 API 호출 오류: 400 Bad Request
상태 코드: 400
에러 응답 바디: {“msg”:“failed to parse parameter. name=receiver_uuids, stringToParse=-, paramString=-, paramStringAlias=null”,“code”:-2}

맞네요 ㅜㅜ 그럼혹시…

이 오류는 어떻게 해결할수있을까요

위 파라미터는 JSON Array String 형식으로 전달되어야 합니다.

map.add("receiver_uuids", "[\"UUID1\",\"UUID2\"]");