LoginSignup
0
0

More than 3 years have passed since last update.

GAS로 구글 스프레드시트 데이터 이메일과 슬랙으로 보내기

Last updated at Posted at 2020-12-17

main.png

TL;DR

1편 GAS로 네이버 키워드 크롤링하고, 구글 스프레드시트에 저장하기 로 누적된 데이터를 이메일과 슬랙으로 보내는 방법을 기록하였습니다.
GAS(Google Apps Script)를 사용하였습니다. (무료 + 서버리스)

How To

구글 스크립트

파일 > New > 스크립트 파일 > send.js
image.png

코드입력 후 저장

※ 슬랙에 보내기 위해서는 Slack Incoming Webhook 값이 사전에 필요합니다.

send.gs
function sendFunction() {

  var activeSheet = SpreadsheetApp.getActiveSheet();
  var cell = activeSheet.getActiveCell();
  var rangeData = activeSheet.getDataRange();
  var last_row = rangeData.getLastRow(); // 마지막 행
  var last_col = rangeData.getLastColumn(); // 마지막 열

  // message
  var message = '';

  for (i = 2; i < last_row + 1; i++) {
    for (j = 1; j < last_col + 1; j++) {
      var link = activeSheet.getRange(i, j).getValue(); // 2행1열(A2) 부터 시작
      var subject = activeSheet.getRange(i, j + 1).getValue();
      var press = activeSheet.getRange(i, j + 2).getValue(); 
      var date = activeSheet.getRange(i, j + 3).getValue();
      message += "<" + link + "|" + subject + ">" + " " + press + "(" + date + ")" + "\n\n";
      j += last_col;
    }
  }

  // send to slack
  var slack_webhook_url = 'https://hooks.slack.com/services/TFN5D0ALR/B01GBTTJGGL/1234567890'; // #z-웹훅
  var payload = {
    'text': message;
  };
  var options = {
    'method': 'post',
    'contentType': 'application/json',
    'payload': JSON.stringify(payload)
  };
  UrlFetchApp.fetch(slack_webhook_url, options);

  // send to email
  var e_subject = 'GAS로 네이버 메일에 데이터 보내기';
  var e_body = message;
  var recipient_email = '@naver.com';
  GmailApp.sendEmail(recipient_email, e_subject, e_body);
}
코드실행

실행 > 함수 실행 > sendFunction > 계정 선택 > 고급 > 제목 없는 프로젝트(으)로 이동(안전하지 않음) > 허용
image.png
image.png
image.png
image.png

Running function myFunction 약 2초 내외로 동작되요. > 슬랙, 메일함 각각 확인
image.png

슬랙 확인
image.png

메일 확인
image.png

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0