今回は、このブログの右側に表示しているガイガーの異常を検知して、LINEに通知するプログラムを GAS(Google App Script)で作りましたので、紹介させていただきます。
必要な準備
−LINE Notifyを登録し、トークンを発行する。
Googleで検索すれば、取得の仕方はいろいろと出てきます。
Google Apps Script
Google Drive から作成します。こちら をご覧ください
以上が準備です。実際のスクリプトは、下記の通り
var lineToken = "ここに取得したトークンを記入"; // 個人用に通知
function main(){
var today = new Date();
var DifHour = (today - fetch())/1000/3600;
// Logger.log(today);
// Logger.log(fetch());
// Logger.log(DifHour);
if ( DifHour > 1.2 ) {
sendToLine("GM45が停止しているようです");
} else {
sendToLine( "GM45:" + parseInt(DifHour * 60) + "分前更新");
}
}
function fetch(){
var url = "http://xxx.com/GM45.png"; //<---ここに設置した画像のリンクを張る
var response = UrlFetchApp.fetch(url);
var headers = response.getHeaders();
var LDate = new Date(headers["Last-Modified"]);
//Logger.log( LDate );
return LDate ;
}
function sendToLine(text){
var token = lineToken;
var options =
{
"method" : "post",
"payload" : "message=" + text,
"headers" : {"Authorization" : "Bearer "+ token}
};
UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}
このスクリプトを作り、トリガーを12時間毎としておけば、何分前にデータがアップされたかLINEに12時間ごとに通知が来ます。今後は、観測が停止してご迷惑をおかけすることは、なくなるかと思います。function main(){
var today = new Date();
var DifHour = (today - fetch())/1000/3600;
// Logger.log(today);
// Logger.log(fetch());
// Logger.log(DifHour);
if ( DifHour > 1.2 ) {
sendToLine("GM45が停止しているようです");
} else {
sendToLine( "GM45:" + parseInt(DifHour * 60) + "分前更新");
}
}
function fetch(){
var url = "http://xxx.com/GM45.png"; //<---ここに設置した画像のリンクを張る
var response = UrlFetchApp.fetch(url);
var headers = response.getHeaders();
var LDate = new Date(headers["Last-Modified"]);
//Logger.log( LDate );
return LDate ;
}
function sendToLine(text){
var token = lineToken;
var options =
{
"method" : "post",
"payload" : "message=" + text,
"headers" : {"Authorization" : "Bearer "+ token}
};
UrlFetchApp.fetch("https://notify-api.line.me/api/notify", options);
}

