먼저 코드 보여드리겠습니다.
public void message(String access_token) throws Exception {
String regURL = “https://kapi.kakao.com/v2/api/talk/memo/default/send”;
try {
URL url = new URL(regURL);
StringBuilder requestBody = new StringBuilder(); //수신번호, 발신번호, 메세지 타입, 메세지 내용
requestBody.append("object_type=feed")
.append("&description='테스트'");
OkHttpClient client = new OkHttpClient();
MediaType mediaType = MediaType.parse("application/x-www-form-urlencoded");
RequestBody body = RequestBody.create(mediaType, requestBody.toString());
Request request = new Request.Builder()
.url(url)
.post(body)
.addHeader("Content-Type", "application/x-www-form-urlencoded")
.addHeader("Authorization", "Bearer " + access_token)
.build();
Response response = client.newCall(request).execute();
System.out.println(response);
} catch (Exception e) {
e.printStackTrace();
}
}
이렇게 작성한 뒤 실행시키면
Response{protocol=http/1.1, code=403, message=Forbidden, url=https://kapi.kakao.com/v2/api/talk/memo/default/send}
라는 로그가 뜹니다.
403 에러의 경우 해당 코드에서 제가 무엇을 잘못 작성했는 지 알 수 있을까요?
로그인 동의항목 체크에 talk_message는 이용중 동의로 되어있습니다.