/*
メール送信【テレワーク開始・終了】
actType:"開始"または"終了"
actTime:何時何分
*/
function sendMail_telework(actType, actTime) {
var sheetAddress = SpreadsheetApp.getActive().getSheetByName("宛先");
var sheetTemplate = SpreadsheetApp.getActive().getSheetByName("定型文");
//【宛先】
//宛先シートからA1セルの値を取得
var toAddress = sheetAddress.getRange("A1").getValue();
//【メール本文】
var body = "";
//定型文シートのすべてのセルデータを取得
var values = sheetTemplate.getDataRange().getValues();
for (var i = 0; i < values.length; i++){
if (body != ""){
body += "\n";
}
body += values[i][0];
}
//"{TIME}"キーワードを置換
body = body.replace("{TIME}", actTime);
//"{ACTION}"キーワードを置換
body = body.replace("{ACTION}", actType);
//件名
var subject = "テレワーク" + actType;
//オプション
var option = {name: "わん太郎"}; //送信者名
//Gmail送信
MailApp.sendEmail(toAddress,subject,body,option);
}
【ポイント解説】
スプレッドシート操作、メール操作のGASメソッドを解説しよう。
|
/*
POSTリクエスト受信
request:受信リクエスト
*/
function doPost(request) {
//POSTリクエストをJSONデータにパース
var receiveJSON = JSON.parse(request.postData.contents);
for (var i = 0; i < receiveJSON.events.length; i++){
var event = receiveJSON.events[i];
//メッセージ受信の場合
if (event.type == "message"){
//テキストメッセージの場合
if (event.message.type == "text"){
//テキストメッセージ取得
var msg = event.message.text;
//改行コード区切りで配列に分解
var msgAry = msg.split("\n");
if (msgAry.length >= 2){
var actType = msgAry[0]; //"開始"または"終了"
var actTime = msgAry[1]; //何時何分
switch (actType){
case "開始":
case "終了":
//メール送信【テレワーク開始・終了】
sendMail_telework(actType, actTime);
break;
}
}
}
}
}
}
【ポイント解説】
受信したLINEメッセージについて解説。
|
【ポイント解説】
選択するアカウントが有料アカウント(G Suite)の場合はすんなり次のアクセス許可画面に行くのだが、
無料アカウント場合は「このアプリは確認されていません」という警告画面が出てくる。 |