앱 아이디 928902
템플릿 아이디 95312
자바로 엑셀 파일 읽어서 데이터 추출 후 카톡 메시지 보내는 기능 실습중인데요~
template id can’t be null -2 오류를 해결 하지 못하고 있습니다.
엑세스 토큰도 제대로 넣었고, 템플릿 아이디도 등록해서 정확하게 넣었는데
왜 이와 같은 오류가 계속 날까요?
아래는 제가 실행한 코드 중 api호출하는 메서드입니다.
private static void sendKakaoTalkMessage(String phoneNumber, String name) throws Exception {
// API 요청 URL
String url = "https://kapi.kakao.com/v2/api/talk/memo/send";
// 카카오톡 API 토큰
String accessToken = "엑세스 토큰 값이 들어가는 자리";
String message = name + "님, 안녕하세요. 주문이 완료되었습니다.";
// 요청 헤더 설정
HttpURLConnection conn = (HttpURLConnection) new URL(url).openConnection();
conn.setRequestMethod("POST");
conn.setRequestProperty("Authorization", "Bearer " + accessToken);
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded;charset=utf-8");
// 요청 바디 설정
String requestBody = "template_object={\"object_type\":\"text\",\"text\":\"" + message
+ "\",\"link\":{\"web_url\":\"\"},\"button_title\":\"\",\"template_id\":\"95312\"}";
conn.setDoOutput(true);
OutputStream outputStream = conn.getOutputStream();
outputStream.write(requestBody.getBytes());
outputStream.flush();
outputStream.close();
// 응답 처리
int responseCode = conn.getResponseCode();
BufferedReader reader;
if (responseCode == HttpURLConnection.HTTP_OK) {
reader = new BufferedReader(new InputStreamReader(conn.getInputStream()));
} else {
reader = new BufferedReader(new InputStreamReader(conn.getErrorStream()));
}
StringBuilder response = new StringBuilder();
String line;
while ((line = reader.readLine()) != null) {
response.append(line);
}
reader.close();
System.out.println(response.toString());
}
}