Created
October 27, 2020 08:28
-
-
Save apivat60/c07b9fb4f21dfc04b380dfd37ce70f6c to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
function myFunction() { | |
var sheet1 = SpreadsheetApp.getActiveSpreadsheet().getSheets()[0]; | |
var sheet2 = SpreadsheetApp.getActiveSpreadsheet().getSheets()[1]; | |
var data1 = sheet1.getRange(sheet1.getLastRow(), 2,1,sheet1.getLastColumn()).getValues()[0]; | |
//===================================================" | |
let data,output1 ="",output2 ="",output3 ="",output4 ="" | |
data = sheet2.getDataRange().getDisplayValues() | |
data.shift() | |
data.forEach((row,i) =>{ | |
output1 += data1[i]+'\n' | |
output2 +=row[1]+'\n' | |
output3 += row[2]+'\n' | |
output4 += row[3]+'\n' | |
}) | |
var date = Utilities.formatDate(new Date(), 'GMT+7', 'dd/MM/'); | |
var thaiyear = Number(Utilities.formatDate(new Date(), "GMT+7", "yyyy"))+543; | |
var output5 = 'วันที่ '+date+thaiyear; | |
var temp= DriveApp.getFolderById("ไอดีโฟลเดอร์ temp"); | |
var TemplateSlide = 'ไอดีไฟล์แม่แบบSlide'; | |
var Slide = SlidesApp.openById(TemplateSlide); | |
var Shapex1=Slide.getSlides()[0].getShapes()[0].getText().setText(output1); | |
var Shapex2=Slide.getSlides()[0].getShapes()[1].getText().setText(output2); | |
var Shapex3=Slide.getSlides()[0].getShapes()[2].getText().setText(output3); | |
var Shapex4=Slide.getSlides()[0].getShapes()[3].getText().setText(output4); | |
var Shapex5=Slide.getSlides()[0].getShapes()[4].getText().setText(output5); | |
Slide.saveAndClose(); | |
var file = DriveApp.getFileById(TemplateSlide); | |
var copyFile = file.makeCopy('img'+ Math.random()+ file.getName( ),temp); | |
var copyId = copyFile.getId(); | |
var copyDoc = SlidesApp.openById(copyId); | |
copyDoc.saveAndClose(); | |
start(copyId); | |
copyFile.setTrashed(true); | |
} | |
// บันทึก Slide ให้เป็นรูปภาพ เพื่อใช้ในการส่งรูปไปกับไลน์แจ้งเตือน | |
function downloadPresentation(id) { | |
var slideIds = getSlideIds(id); | |
let imagesblob = [] | |
for (var i = 0, slideId; slideId = slideIds[i]; i++) { | |
imagesblob.push(downloadSlide('Slide ' + (i + 1), id, slideId)); | |
} | |
return imagesblob | |
} | |
function downloadSlide(name, presentationId, slideId) { | |
var url = 'https://docs.google.com/presentation/d/' + presentationId + | |
'/export/png?id=' + presentationId + '&pageid=' + slideId; | |
var options = { | |
headers: { | |
Authorization: 'Bearer ' + ScriptApp.getOAuthToken() | |
} | |
}; | |
var response = UrlFetchApp.fetch(url, options); | |
var image = response.getAs(MimeType.PNG); | |
image.setName(name); | |
return image | |
} | |
function getSlideIds(presentationId) { | |
var url = 'https://slides.googleapis.com/v1/presentations/' + presentationId; | |
var options = { | |
headers: { | |
Authorization: 'Bearer ' + ScriptApp.getOAuthToken() | |
} | |
}; | |
var response = UrlFetchApp.fetch(url, options); | |
var slideData = JSON.parse(response); | |
return slideData.slides.map(function(slide) { | |
return slide.objectId; | |
}); | |
} | |
function start(SlideFileID) { | |
let images = downloadPresentation(SlideFileID); | |
images.forEach(image=>{ | |
sendNotify(image,token) | |
}) | |
} | |
//ส่งไลน์แจ้งเตือน + รูปภาพ | |
var token = 'โทเค่น Line'; | |
function sendNotify(image,tokenID){ | |
let payloadJson = { | |
"message": "📣 ใส่ข้อความที่ต้องการแจ้งเตือนตรงนี้ ", | |
"imageFile": image | |
}; | |
let token = [tokenID]; //ใส่ access token ที่ใช้งาน | |
let options = { | |
"method": "post", | |
"payload": payloadJson, | |
"headers": { | |
"Authorization": "Bearer " + token | |
} | |
}; | |
UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options); | |
} | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment