Google 데이터 스튜디오 그래프를 GAS로 Slack 전달
3111 단어 슬랙DataStudiogas
개요
Google Data Studio에서 Slack 게재해야 하는 작업이 발생했기 때문에 대응 방법을 설명합니다.
파이프라인
※어딘가의 처리로 실패하면 수동으로 투하하는 운용을 상정
고려한 다른 수단
DataStudio의 링크를 투하하여 썸네이션을 표시합니다.
↓이런 느낌의 링크
https://datastudio.google.com/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/thumbnail?sz=full
https://datastudio.google.com/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/thumbnail?sz=full
https://lh3.googleusercontent.com/XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
메일 배달 대상을 Slack으로 설정
Google Data Studio API
파이프라인 구현
일정 배달 설정
공유에서 설정합니다.
GAS에서 검색할 때 제목을 사용하므로 반드시 다른 사람과 구별하는 제목을 넣어야 합니다.
GAS 구현
데이터 스튜디오에서 게재되는 메일 첨부 파일을 확인하면 PDF 만 있지만,
스크립트를 돌려 첨부 파일을 확인했는데, 분명히 PDF와 jpg가 존재하는 것 같습니다.
GAS에서는 첨부파일의 jpg를 가져와서 이 jpg를 Slack에 투하합니다.
※Slack token의 취득에 대해서는 할애합니다
function search_from_email_attachments() {
// Datastudioからスケジュール配信されたメールを取得(条件に一致する最新のメールを一件取得)
var Threads = GmailApp.search('from:"[email protected]" subject:XXXXXXXXXX', 0, 1);
var messages = Threads[0].getMessages();
var message = messages[messages.length-1];
// メールから画像を取得
var attachments = message.getAttachments();
for(attachment of attachments){
if (attachment.getName().indexOf('.jpg') > 0) {
return attachment;
}
}
}
function file_upload_to_slack(attachment) {
var SLACK_TOKEN='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
var data={
token:SLACK_TOKEN,
file:attachment,
file_type: 'jpg',
channels: 'XXXXXXXXXX',
title: 'XXXXXXXXXX',
initial_comment: 'XXXXXXXXXXXXXXXXXXXX'
};
var option={
'method':'POST',
'payload':data
};
res = UrlFetchApp.fetch('https://slack.com/api/files.upload',option);
return res;
}
function main(){
attachment = search_from_email_attachments()
res = file_upload_to_slack(attachment)
Logger.log(res);
}
그리고는 이 스크립트를 트리거로 설정하면 완료입니다.
※트리거는 편집 > 현재의 프로젝트의 트리거로부터 설정할 수 있습니다.
Reference
이 문제에 관하여(Google 데이터 스튜디오 그래프를 GAS로 Slack 전달), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/mida12251141/items/4d0add710de8985ef6b5
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
function search_from_email_attachments() {
// Datastudioからスケジュール配信されたメールを取得(条件に一致する最新のメールを一件取得)
var Threads = GmailApp.search('from:"[email protected]" subject:XXXXXXXXXX', 0, 1);
var messages = Threads[0].getMessages();
var message = messages[messages.length-1];
// メールから画像を取得
var attachments = message.getAttachments();
for(attachment of attachments){
if (attachment.getName().indexOf('.jpg') > 0) {
return attachment;
}
}
}
function file_upload_to_slack(attachment) {
var SLACK_TOKEN='XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX';
var data={
token:SLACK_TOKEN,
file:attachment,
file_type: 'jpg',
channels: 'XXXXXXXXXX',
title: 'XXXXXXXXXX',
initial_comment: 'XXXXXXXXXXXXXXXXXXXX'
};
var option={
'method':'POST',
'payload':data
};
res = UrlFetchApp.fetch('https://slack.com/api/files.upload',option);
return res;
}
function main(){
attachment = search_from_email_attachments()
res = file_upload_to_slack(attachment)
Logger.log(res);
}
Reference
이 문제에 관하여(Google 데이터 스튜디오 그래프를 GAS로 Slack 전달), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/mida12251141/items/4d0add710de8985ef6b5텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)