GASでおんどとりのAPIを叩く②
ここから次は異状があったときに特定のセルを更新するまで
//環境に応じて書き換えるものはapi_key , login_id , password , 温度のところ(danshi , joshiのところ)です。 // //温度を配列で返す関数 function temps(){ // api_key login_id password は書き直して下さい。 const url = "https://api.webstorage.jp/v1/devices/current" const api_key = "" const login_id ="" const password = "" const furo_temp = () => { var paylord = {'api-key':api_key,"login-id":login_id,'login-pass':password} var headers = { "X-HTTP-Method-Override":'GET', "Content-Type" : "application/json",} var options = { "method" : "post", "payload" : JSON.stringify(paylord), "headers" : headers, "muteHttpExceptions":true } return UrlFetchApp.fetch(url,options); } return JSON.parse(furo_temp()) } //ここまで関数 //ここから本文 //温度のJSONを取得する var tmprs = temps() //デバッグ用 女子風呂の温度 //Logger.log("女子:" + tmprs["devices"][1]["channel"][0].value) //男子風呂の温度 環境に応じて切り替えて下さい var danshi = tmprs["devices"][2]["channel"][0].value //女子風呂の温度 環境に応じて切り替えて下さい var joshi = tmprs["devices"][1]["channel"][0].value var nowtime = new Date() var status var sht = SpreadsheetApp.getActiveSheet() if (Math.max(danshi,joshi)>44) { Logger.log("熱い") //デバッグ用 sht.getRange("B1").setValue(nowtime) status = "hot" } if (Math.min(danshi,joshi)<38){ Logger.log("冷たい") //デバッグ用 sht.getRange("B3").setValue(nowtime) status = "cold" } if (Math.min(danshi,joshi)<38 && Math.max(danshi,joshi)>44){ Logger.log("なんか変") status = "somethingwrong" } //最後のswitch文 switch(status){ case "hot": sht.getRange("D5").setValue(nowtime) break case "cold": sht.getRange("F5").setValue(nowtime) break case "somethingwrong": sht.getRange("E5").setValue(nowtime) break default: sht.getRange("G5").setValue(nowtime) break }