この記事は GAS道場 Advent Calendar 2019 の12日目の記事です。 Google Apps Script(GAS)をこれから使おうという方向けのアドベントカレンダーになります。
今回は、GASから外部のAPIを叩いて、そのレスポンスのJSONを扱ってみたいと思います。
天気API
天気の情報を取得するために、今回使用するサイトはこちらになります。
livedoorが提供するWeather Hacksになります。こちらのAPIを叩くことで、指定した地域の天気を取得することができます。 今回は、とりあえず日本の首都である東京の天気を取得したいと思います。
ちなみに、今回使用するURLを叩くと以下のようなJSON形式のレスポンスが返ってきます。 無料の割に、いろんな情報が取得できますね。
スクリプト
では、さっそくソースコードを紹介したいと思います。
function myFunction() { var url = 'http://weather.livedoor.com/forecast/webservice/json/v1?city=130010'; var response = UrlFetchApp.fetch(url).getContentText(); var json = JSON.parse(response); Logger.log(json.description.text) }
シンプルですが、上で紹介した外部のAPIを取得して、返ってきたJSONの一部をログに出力しているだけではあります。
実行結果
実行結果はこのようになります。
[19-12-10 06:35:13:759 PST] 高気圧が日本のはるか東と西日本にあって、それぞれ東へ移動しています。引き続き、房総半島沖から伊豆諸島にかけては気圧の谷となっています。 東京地方は、曇りとなっています。 10日は、気圧の谷や湿った空気の影響により、曇りとなるでしょう。伊豆諸島では、雨や雷雨となる所がある見込みです。 11日は、気圧の谷や湿った空気の影響により曇りとなりますが、朝から昼過ぎは高気圧に覆われて晴れるでしょう。伊豆諸島では、雨や雷雨となる所がある見込みです。 【関東甲信地方】 関東甲信地方は、曇りや晴れとなっています。 10日は、気圧の谷や湿った空気の影響により、関東地方は曇りで沿岸部では雨、伊豆諸島では雷雨の所があるでしょう。甲信地方や群馬県では高気圧に覆われて晴れる所もある見込みです。 11日は、気圧の谷や湿った空気の影響により、朝晩を中心に曇りで沿岸部では雨、伊豆諸島では雷雨の所があるでしょう。日中は高気圧に覆われて晴れる所もある見込みです。 関東地方と伊豆諸島の海上では、10日から11日にかけて、うねりを伴って波が高いでしょう。船舶は高波に注意してください。
このように、簡単に天気の情報を取得できるようになります。
さいごに
以上のように、外部のAPIを利用することで、いろんな情報の取得、またはいろんなサービスとの連携ができるようになります。 GASはもしかしたらシンプルなスクリプトかもしれませんが、このように外部サービスとの連携で使い方が無限大に広がるんじゃないかなと思います。