Slack에는 “Slack 채널에 게시된 메시지를 Google 스프레드시트에 쓰고 싶을 때 사용할 수 있는 편리한 API “Outgoing Webhook”이 있습니다.
이전에 “발신 Webhook”의 준비를 완료하였으므로 계속 만들어 나갈 것입니다.
새 가스 생성
Slack의 “Outgoing Webhook”이 준비되면 다음 단계는 GAS 측을 준비하는 것입니다.
먼저 스프레드시트에 대한 컨테이너 바인딩으로 GAS를 만듭니다.
새 스프레드시트를 만듭니다.
![](https://eguweb.jp/wp-content/uploads/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2022-10-14-8.51.12-1024x458.jpg)
스프레드시트에 데이터 쓰기
먼저 스프레드시트에 데이터를 쓸 변수를 준비합니다.
스프레드시트에서 데이터를 검색하고 스프레드시트에 데이터를 쓸 수 있도록 doPost(e)(POST 요청이 웹 앱에 전송될 때 실행되는 함수) 함수를 만듭니다.
function doPost(e) {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('データ取得');
}
데이터는 “데이터 가져오기” 시트로 전송됩니다.
![](https://eguweb.jp/wp-content/uploads/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2022-10-14-12.28.42-1024x771.jpg)
마지막 행 다음 행에 데이터 쓰기
마지막 행 다음 행에 데이터를 쓰지 않으면 덮어쓰게 되므로 마지막 행에 1을 더한 변수를 준비합니다.
function doPost(e) {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('データ取得');
const lastrowNext = sheet.getLastRow()+1;
}
이제 마지막 행에 1을 더한 데이터를 쓸 수 있습니다.
Slack에 게시된 메시지를 스프레드시트에 쓸 수 있도록 허용
Slack에 게시된 메시지를 수신할 수 있도록 매개변수를 가져옵니다.
사용자 이름은 .user_name으로, 텍스트(메시지)는 .text로 받을 수 있습니다.
function doPost(e) {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('データ取得');
const lastrowNext = sheet.getLastRow()+1;
const username = e.parameter.user_name;
const text = e.parameter.text;
}
Slack에 게시된 메시지를 스프레드시트에 쓰기
Slack에 게시된 메시지를 스프레드시트에 쓸 수 있습니다.
function doPost(e) {
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('データ取得');
const lastrowNext = sheet.getLastRow()+1;
const username = e.parameter.user_name;
const text = e.parameter.text;
sheet.getRange( lastrowNext, 1).setValue(username);
sheet.getRange( lastrowNext, 2).setValue(text);
return;
}
사용자 이름은 첫 번째 열에, 메시지는 두 번째 열에 기록됩니다. 마지막으로 반환하여 결과를 받습니다.
배포
이 시점에서 배포할 준비가 되었습니다. 이제 GAS를 배포할 때입니다.
이때 시스템에 접근할 수 있는 사용자는 모두 동일한 사용자여야 하므로 변경합니다. 그런 다음 배포합니다.
![](https://eguweb.jp/wp-content/uploads/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2022-10-14-12.37.26-1024x529.jpg)
배치되었습니다! 이제 발급된 URL을 이전에 생성된 애플리케이션에 연결합니다.
![](https://eguweb.jp/wp-content/uploads/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2022-10-14-12.38.04.jpg)
![](https://eguweb.jp/wp-content/uploads/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2022-10-14-12.40.57-1024x797.jpg)
Slack 메시지는 스프레드시트에 기록됩니다.
스프레드시트에 데이터가 기록되었는지 테스트해 보겠습니다.
![](https://eguweb.jp/wp-content/uploads/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2022-10-14-12.42.45-1024x510.jpg)
데이터가 스프레드시트에 기록되었습니다!
![](https://eguweb.jp/wp-content/uploads/%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%BC%E3%83%B3%E3%82%B7%E3%83%A7%E3%83%83%E3%83%88-2022-10-14-12.44.41-1024x375.jpg)
요약
이제 Slack에서 Google 스프레드시트로 데이터를 쓸 수 있습니다. 데이터를 보낼 때마다 후행 비즈니스의 다음 행에 편리하게 기록됩니다.
자세한 내용은 Slack의 “Outgoing Webhook”을 참조하십시오