開発部のおいぬです(▽・x・▽)
今回は、LINE NotifyとGoogle Apps Scriptを使って、その日の天気予報をLINEで受け取れるものを作ってみました。
だんだん暖かくなってきていますが、まだまだ布団から出られない毎日を過ごしています。
朝起きて天気を確認したいけど、窓開けたりテレビの電源つけに行ったり…布団からどうしても出たくない…
そう思って作りました(笑)
LINE Notifyの使い方については前回の記事を参照ください↓↓
[clink url=”https://www.smilevision.co.jp/blog/blog/tsukatte01/”]
作り方
Google Apps Scriptを使えるようにします。
chromeの拡張機能に「Google Apps Script」を入れる、もしくはGoogleスプレッドシートでシートを新規追加し、メニュー > ツール > スクリプトエディタ から使用することが出来ます。
エディタを開いて、以下のソースを貼り付けます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
var lineToken = "ACCESS_TOKEN"; // 「ACCESS_TOKEN」をLINE Notifyのアクセストークンに置き換える function weatherForecast() { var response = UrlFetchApp.fetch("http://weather.livedoor.com/forecast/webservice/json/v1?city=CITY_ID"); // 「CITY_ID」を、天気を取得したいcity idに置き換える var json=JSON.parse(response.getContentText()); //受け取ったJSONデータを解析して配列jsonに格納 /* メッセージ */ var strBody = json["location"]["city"] + "の天気"+ "\n"; strBody = strBody + "今日の天気: " + json["forecasts"][0]["telop"] + "\n"; strBody = strBody + "明日の天気: " + json["forecasts"][1]["telop"] + "\n"; strBody = strBody + "予報発表時間:" + json["publicTime"]; sendToLine(strBody); } 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); } |
UrlFetchApp.fetch(URL):API(URL)にリクエストを送る
レスポンス.getContentText:レスポンスからテキストデータを取り出す
JSON.parse:jsonデータを解析
APIとは?
APIとは「Application Programming Interface(アプリケーション・プログラミング・インターフェイス)」の略語であり、「ある1つの機能に特化したプログラムで共有可能なもの」や「ソフトウェアの機能を共有する仕組み」のことです。
「【初心者入門編】APIとは?知ってワクワク Web APIの使い方」より引用
Web上に公開されているAPIのプログラムを呼び出すことで、いろいろなことができます。
今回はlivedoor天気予報が提供するお天気webサービスを利用し、全国各地の天気予報をJSONデータで取得しています。
天気を取得したい地域のcity IDは下記表から選んでください。
CITY_IDを置き換えたら、「メニュー > 編集 > 現在のプロジェクトのトリガー」からLINEの通知を受け取る設定をします。
実行を「weatherForecast」、イベントを「時間主導型、日タイマー、[通知を受ける時間帯]」を選択し、保存してください。
livedoor天気情報の今日・明日の天気は、1日3回、5時、11時、17時に発表・更新されます。
手動で実行する場合は「メニュー > 実行 > 関数を実行 > weatherForecast」から実行することが出来ます。実行されるとLINEに通知が届きます。
これで毎朝テレビをつけなくても窓を開けなくても天気をチェックすることが出来ます!
がそのような生活はあまりおすすめできませんので(笑)
みなさんちゃんと毎朝おひさまの光を浴びて健康に過ごしてください!