스프레드시트 그래프를 Chatwork에 이미지로 자동 게시

소개



비즈니스의 예산 관리, 어떻게 해야 하나요?
월간 리포트나 주차 리포트라면 아직도, 일차 리포트를 수작업으로 보고·공유하는 것은 번거롭지요.
BI 툴이나 사내 시스템으로 보이게 되어도, 보는 습관이 붙지 않으면 멤버에 따라서는 매일 쫓고 있지 않거나 합니다.

그래서 이번은, 도입하고 있으면 매일 빠뜨리지 않고 읽을 것이다 Chat 툴, Chatwork에의 자동 통지화를 소개합니다.
텍스트 자동 투고 뿐이라면 상황을 파악하기 어려우므로 이번에는 스프레드 시트로 만든 막대 그래프를 이미지로 게시하는 시스템입니다.

만약 Chatwork가 아니라 Slack등의 다른 툴에서도, 이미지 투고 API가 존재하면 거의 같은 만들기로 이케할 것입니다.



스프레드시트 준비



우선은 Google Drive로 스프레드 시트를 신규 작성.
통지하고자 하는 데이터와 자동 통지하고 싶은 그래프를 작성합니다. 예를 들면 이런 느낌.



GAS 코드 작성



도구 → 스크립트 편집기를 선택합니다.
그리고 아래 코드를 입력하고 저장하십시오.
var TOKEN   = INSERT_YOUR_TOKEN;
var ROOM_ID = INSERT_YOUR_ROOM_ID;

function myFunction() {
  var sheet = SpreadsheetApp.getActiveSheet();
  var charts = sheet.getCharts();
  var chartTitle = Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy/M/d') + '販売レポート';
  var fileName   = 'daily_report_' + Utilities.formatDate(new Date(), 'Asia/Tokyo', 'yyyy-MM-dd') + '.png';

  for (var i = 0; i < charts.length; i++) {
    var oldChart = charts[i];
    var newChart = oldChart.modify().setOption('title', chartTitle).build();
    sheet.updateChart(newChart); // タイトル変更したグラフをスプレッドシートに反映
    var newChartImage = newChart.getBlob().getAs('image/png').setName(fileName);
    try {
      postToChatworkFile(newChartImage);
    } catch (e) {
      Logger.log(e.getMessage());
    }
  }
}

function postToChatworkFile(file) {
  var payload = {
    'file': file,
    'message': '今日のレポートです'
  }
  var headers = {
    'X-ChatWorkToken': TOKEN
  }
  var options = {
    'method' : 'POST',
    'payload' : payload,
    'headers' : headers
  }
  var url = 'https://api.chatwork.com/v2/rooms/' + ROOM_ID + '/files';
  UrlFetchApp.fetch(url, options);
}

var TOKEN   = INSERT_YOUR_TOKEN;
var ROOM_ID = INSERT_YOUR_ROOM_ID;

INSERT_YOUR_XXXX 부분에는 토큰과 방 ID를 각각 넣어야 합니다.
Chatwork API 토큰을 얻는 방법과 방 ID를 얻는 방법을 모르는 경우 여기의 이전 기사를 참조하십시오.

입력이 끝나면 스크립트 실행.
런타임에 승인 대화 상자가 나오므로 허가 방법을 모르는 경우 여기과거 기사를 참조하십시오.

잘하면 이렇게 자동 게시됩니다.


정기 실행



수동으로 스크립트를 실행하면 Chatwork에 알립니다.
그리고는, 이것을 매일 자동 실행할 뿐.

스크립트 편집기의 시계 표시를 클릭하면 정기 실행을 설정할 수 있습니다.
오른쪽 하단의 '+ 트리거 추가'를 클릭하고 다음과 같이 설정하면 매일 9~10시 사이에 한 번 실행됩니다.



숫자를 매일 자동 반영



이대로의 스프레드 시트라면 매일 같은 수치만이 보고되므로 의미 없네요.

스프레드시트에 자동으로 숫자를 입력하려면 이전에 작성한 다음 문서를 참조하세요.
【Google Apps Script】 그 15 Execution API를 사용해, 외부로부터 API로서 두드린다

마지막으로



어떻습니까?
시각적으로 알기 쉬워지는 것으로 수치에 대한 약한 의식도 줄어들지도 모릅니다.
꼭 사용해보십시오.

덧붙여서 이번 이용한, 파일을 투고하는 Chatwork API의 공식 문서는 이쪽.
ぇぇぺぺr. 제대로 rk. 코 m/쟈/엔 d포인 t_로오 ms. html #포 ST-로오 ms-로오 m_이 d-후우 s

좋은 웹페이지 즐겨찾기