Google Apps Script를 이용해서 메시지 발송하는 방법
안녕하세요. 저는 SOLAPI에서 DevOps이자 DX 엔지니어 업무를 담당하고 있는 Lucy입니다!
많은 분께서 Google Apps Script 연동 방법을 문의주셨습니다.
이에 대한 갈증을 어느 정도 해소해드리기 위해, 이번 글에서는 Google Apps Script를 이용하여
SOLAPI에서 메시지를 발송하는 방법을 알아보겠습니다!
구글 스프레드시트에서 메시지 발송해보기
먼저, Google Apps Script를 셋팅하기 위해 Google Spread Sheet 페이지로 이동해보겠습니다.
구글 스프레드시트 페이지에서 빈 스프레드시트 버튼을 클릭합니다.
그 다음, 구글 스프레드시트 페이지의 메뉴에서 확장 프로그램 -> Apps Script 버튼을 클릭합니다.
구글 앱스크립트 페이지에 들어오면 처음에 function myFunction()..
등으로 위의 사진처럼 코드가 입력되어 있는 부분을 확인하실 수 있습니다.
해당 코드 입력되어 있는 부분에 function
등의 코드를 삭제하고 아래의 코드를 복사하여 function
코드를 지웠던 칸에 그대로 붙여넣기를 진행합니다.
// 발송 코드, 복사 붙여넣기 후 apiKey, secret, from, to, text 등을 수정해서 발송해보세요! / 알림톡 발송의 경우 kakaoOptions 내 속성까지도 수정해주세요.
function sendTextMessage(text = 'testText') {
// SOLAPI에서 발급받은 자격증명 / https://console.solapi.com/credentials
var apiKey = 'SOLAPI에서 발급받은 API Key'
var secret = 'SOLAPI에서 발급받은 API Secret Key'
// 인증을 위해 헤더에 포함될 인증정보 생성
var now = new Date().toISOString()
var genRanHex = size => [...Array(size)].map(() => Math.floor(Math.random() * 16).toString(16)).join('');
var salt = genRanHex(64)
var message = now + salt
var byteSignature = Utilities.computeHmacSha256Signature(message, secret);
var signature = byteSignature.reduce(function(str,chr){
chr = (chr < 0 ? chr + 256 : chr).toString(16);
return str + (chr.length === 1 ? '0' : '') + chr;
},'');
// SOLAPI API 발송에 필요한 데이터 설정
var url = "https://api.solapi.com/messages/v4/send-many/detail";
var data = {
messages: [{
from : 'SOLAPI에서 등록한 발신번호/01000000000 형식으로 입력해주세요!',
to: '수신받을 휴대폰 번호/01000000000 형식으로 입력해주세요!',
text: '문자 테스트',
// 알림톡 발송 시 주석을 풀고 pfId, templateId를 입력해주셔야 합니다 / #{변수} 등의 치환문구가 존재하면 variables 값도 채워넣어주세요!
// kakaoOptions: {
// pfId: '등록하신 카카오 채널 ID(pfId)를 입력해주세요!',
// templateId: '등록하신 카카오 알림톡 템플릿 ID를 입력해주세요!',
// variables: {'#{홍길동}': text, '#{변수2}': ''}
// }
}]
}
var response = UrlFetchApp.fetch(url, {
payload: JSON.stringify(data),
method: 'post',
headers: { Authorization: `HMAC-SHA256 apiKey=${apiKey}, date=${now}, salt=${salt}, signature=${signature}`},
contentType: 'application/json'
})
var result = JSON.parse(response) || {};
// API 발송 결과에 대한 내용 출력
console.log(result)
}
코드 붙여넣기가 완료되면 코드 첫줄에 입력된 내용처럼 필요한 내용을 환경에 맞게 변환시키신 후, control + s
키를 눌러 코드를 저장합니다.
코드가 저장되면 아래의 이미지 처럼 실행 버튼을 눌러 실제 메시지가 발송되는지 테스트해보세요!
발송이 정상적으로 진행되었다면, 발송 내역 페이지에서 실제 발송 여부를 확인하실 수 있습니다!
이것으로 Apps Script를 이용해서 SOLAPI에서 메시지를 쉽게 발송하는 방법을 알아보았습니다.
다음 글에서는 완성된 코드를 이용해서 특정 셀에 값이 들어오는 조건을 활용해서 발송 자동화 하는 방법을 알아보겠습니다!