APIを使って、天気予報 を Google Home に伝えてもらうようにしてみる

その日の天気予報を朝に Google Home Mini で、知らせてくれる機能を作ってみました。

↓お天気のデータは、「OpenWeatherMap」のAPIから取得します。

↓こちらのサイトを参考にしてデータを取得しました。

↓こちらから、都市のIDを探します。

http://bulk.openweathermap.org/sample/city.list.json.gz

Google Apps Script を使ってデータを取得します。

var app_id = "XXXXXXXXXXXXXXXXXX";
var city_id = "11111111"; //都市のID
var tenkiArr = {"clear":"晴れ","clouds":"くもり","rain":"雨","thunderstorm":"雷雨"
,"snow":"雪","mist":"霧"};

var nowDate_y = nowDate.getYear();
var nowDate_m = ("0" + (nowDate.getMonth()+1)).slice(-2);
var nowDate_d = ("0" + nowDate.getDate()).slice(-2);

var response = UrlFetchApp.fetch("http://api.openweathermap.org/data/2.5/forecast?id=" + city_id + "&units=metric&appid=" + app_id);
var json = JSON.parse(response.getContentText());
var listArr = json["list"];

for (var i = 0; i < listArr.length ; i++){
var dt_txt = listArr[i]["dt_txt"]; // 例:2018-06-11

if(nowDate_y + "-" + nowDate_m + "-" + nowDate_d == dt_txt.substr(0,10)){ // 今日のデータ
}else{
continue;
}

var main = listArr[i]["weather"][0]["main"].toLowerCase(); // 例:clear、rain、clouds
Logger.log(tenkiArr[main]); // 例:晴れ、雨、くもり
}

↓あとは、こちらを参考にして、メッセージをGoogle Home に投げます。

http://www.nanigoto.net/entry/2017/12/25/160532

朝7時にセットして、Google Home に、

「本日のお天気をお知らせします。朝のお天気は雨、昼のお天気は曇り、夜のお天気は晴れです。

というような感じで、伝えてもらうようにしました。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA