スプレッドシートの特定セルの数値が範囲を超えた場合、lineに自動でメールを送る。
M5Stackで1時間毎に温湿度を測り、スプレッドシートに記録しています。その温湿度を基に不快指数を算出して記録までできています。
function doPost(e)関数を使ってデータを受け取り、不快指数が80を超えた時、lineNotifyで「不快指数が80を超えました。熱中症に注意してください」と自動でline通知が来るようにしたいです。
不快指数を出しているシートは'温湿度の集計シート'セルはF2です。ここに1時間に1回、不快指数の数値が入ってきます。
発生している問題・エラーメッセージ
始めたばかりで本なども参考にしていますがF2のセルの数値が80以上の時、lineを自動で送りたいのですが、 sheet.getRange(2,6).getValues()などで数値を呼び出して計算したらいいのでしょうか、またその数値が超えた場合どういった処理を行えばlineを送ることになるのでしょうか。
質問が初心者すぎて申し訳ないのですが教えて頂きたいです。
該当のソースコード
function doPost(e) {
//var sheet = SpreadsheetApp.getActiveSpreadsheetByName( "data" ); //
var spreadsheet = SpreadsheetApp.openById( "1ybNhqog4CvP31CNABUKrc9qKXR-6m52ttyoIivC0iq0" ) ;
var sheet = spreadsheet.getSheets()[1] ; //
sheet.activate() ;
var jsonString = e.postData.getDataAsString();
var params = JSON.parse(jsonString);
// データをシートに追加
sheet.insertRows(2,1); // 2行目に行を追加
sheet.getRange(2, 1).setValue(new Date()); // 受信日時を記録
sheet.getRange(2, 2).setValue(new Date()); // 受信日時を記録
sheet.getRange(2, 3).setValue(params.Test_Temp); // テスト:温度
sheet.getRange(2, 4).setValue(params.Test_Hum); // テスト:湿度
sheet.getRange(2, 6).setValue((sheet.getRange(2, 3).getValue()0.81)+(0.01(sheet.getRange(2, 4).getValue())*((sheet.getRange(2, 3).getValue()*0.99)-14.3))+46.3); // テスト:不快指数計算式
sheet.getRange(2,6).getValues().return [1]>80; sendHttpPost(e[0]);
sendHttpPost(content)
const token = "LINEトークン";
const options =
{
"method" : "post",
"payload" : "message=" + content,
"headers" : {"Authorization" : "Bearer "+ token}
}; UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}
ここに言語名を入力
日本語
試したこと
function shiftReminder() {
// LINEで自動通知する内容。
var content = "不快指数が80を超えました";
content += "熱中症に注意してください。";
sendHttpPost_shiftReminder(content);
}
// LINE Notifyを利用するための関数
function sendHttpPost_shiftReminder(content){
var token = ['トークン']; //LINEで自動通知をする宛先のトークン。
var options =
{
"method" : "post",
"payload" : {"message": content,
},
"headers" : {"Authorization" : "Bearer "+ token}
};
UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}
このコードを実行するとラインには通知が来ます。80の設定値が超えた場合このコードにつながるようにしていくのがいいでしょうか、そもそも見当はずれなのでしょうか、
教えて頂けますでしょうか。
補足情報(FW/ツールのバージョンなど)
M5Stack、グーグルスプレットシート、GAS、ウェブアプリ作成、などを使用して作成しています。
あなたの回答
tips
プレビュー