GCP/Apps Script

Apps Script로 친구에게 카카오톡 메시지 보내기 #2

whistory 2024. 12. 27. 14:56
반응형

 

친구에게 메시지 보내기

앞서 획득한 친구의 UUID를 이용해 친구에게 카카오톡 메시지를 전송하는 코드를 작성해보겠습니다.

 

/**
 * 친구에게 카카오톡 메시지 보내기
 * Reference : <https://developers.kakao.com/docs/latest/ko/message/rest-api#default-template-msg-friend>
 */
function sendMessageToFriend() {
   // 스프레드 시트에서 Access Token 가져오기
   const ss = SpreadsheetApp.getActive();
   const ACCESS_TOKEN = ss.getRangeByName("ACCESS_TOKEN").getValue();
   // 카카오톡 메시지 전송 API URL
   const url = "<https://kapi.kakao.com/v1/api/talk/friends/message/default/send>";
   // 메시지 내용
   var message = "앱스 스크립트로 카카오톡 메시지 보내기 성공!!!"
   // 메시지 템플릿
   var template_object = `{
      "object_type": "text",
      "text": "${message}",
      "link": {
         "web_url": "<https://whiseung.tistory.com/>",
         "mobile_web_url": "<https://whiseung.tistory.com/>"
      },
      "button_title": "바로 확인"
   }
   `;
   // ➊ 친구 UUID 입력
   var receiver_uuids = `["uoOwh7eAtIK6lqSVopOklaeVpIi5ibiMv4a30A"]`;
   // URL을 호출을 위한 환경설정
   const options = {
      method: "POST",
      muteHttpExceptions: true,
      headers: { 
         Authorization: "Bearer " + ACCESS_TOKEN 
         , contentType: "application/x-www-form-urlencoded;charset=utf-8"
      },
      // ➋ 메시지 템플릿과 친구 UUID 전송
      payload: {template_object, receiver_uuids}
   };
   // URL을 환경설정 값과 함께 호출
   const res = UrlFetchApp.fetch(url, options).getContentText();
   console.log(res);
}

 

 

메시지를 보내는 방법은 동일하기 때문에 설명은 생략하고 변경되는 부분만 설명합니다.

 

➊ 메시지를 보낼 친구의 UUID를 배열의 형태로 선언해줍니다. 여러명의 친구에게 메시지를 보낼때는 아래와 같이 배열에 다른 친구의 UUID를 추가해줍니다. 해당 API를 통해 메시지는 한번에 5명에게 까지 보낼 수 있습니다. 

receiver_uuids = `["uuid#1", "uuid#2"]`;

 

➋ API를 호출할 때 메시지 템플릿과 함께 위에서 생성한 친구의 UUID 배열을 전송합니다.

 

코드를 저장한 다음 sendMessageToFriend( ) 함수를 실행하면 친구에게 카카오톡 메시지가 전송됩니다.

 

성공 로그

{"successful_receiver_uuids":["uoO7g7CAuYmwnK6dpZWgmK6arYGwgLGFto--2A"]}

 

 

 

 

 

 

반응형