Androidのメモとか

ポキオの日記です。今日も遅延してない。

Google Apps ScriptからYahooのAPI(YOLP)を叩いてピンポイント天気予報を取得する

安心と信頼のGAS。

YOLPとは?

developer.yahoo.co.jp

Yahoo! Open Local Platformの略。無料で使えるAPIの一つで、地図に関するAPIが沢山用意されています。その中で、今回は天気予報のAPIを触ってみます。

developer.yahoo.co.jp

YahooのIDの取得と、アプリケーションの登録ができている前提で実装しています。

超簡単

早速GASで実装。

var appId = "xxx";
var secret = "yyy"; // 使わなかった
var place = "139.739425,35.637008";
var url = "https://map.yahooapis.jp/weather/V1/place?coordinates=" + place + "&output=json&appid=" + appId;

function myFunction() {
  var response = UrlFetchApp.fetch(url);
  Logger.log(response.getContentText());
}

これだけ。Log出力を見てみると・・・

{  
   "ResultInfo":{  
      "Count":1,
      "Total":1,
      "Start":1,
      "Status":200,
      "Latency":0.004212,
      "Description":"",
      "Copyright":"(C) Yahoo Japan Corporation."
   },
   "Feature":[  
      {  
         "Id":"201706202355_139.73943_35.637008",
         "Name":"地点(139.73943,35.637008)の2017年06月20日 23時55分から60分間の天気情報",
         "Geometry":{  
            "Type":"point",
            "Coordinates":"139.73943,35.637008"
         },
         "Property":{  
            "WeatherAreaCode":4410,
            "WeatherList":{  
               "Weather":[  
                  {  
                     "Type":"observation",
                     "Date":"201706202355",
                     "Rainfall":0.00
                  },
                  {  
                     "Type":"forecast",
                     "Date":"201706210005",
                     "Rainfall":0.00
                  },
                  {  
                     "Type":"forecast",
                     "Date":"201706210015",
                     "Rainfall":0.00
                  },
                  {  
                     "Type":"forecast",
                     "Date":"201706210025",
                     "Rainfall":0.00
                  },
                  {  
                     "Type":"forecast",
                     "Date":"201706210035",
                     "Rainfall":0.00
                  },
                  {  
                     "Type":"forecast",
                     "Date":"201706210045",
                     "Rainfall":0.00
                  },
                  {  
                     "Type":"forecast",
                     "Date":"201706210055",
                     "Rainfall":0.00
                  }
               ]
            }
         }
      }
   ]
}

ある地点の緯度経度を与えると、10分おきの降水予想が取得できる。これは使えそうだなぁ・・・。ポキオ基板Ver.2と組み合わせてみようかな。

「Androidのメモとか」は、Amazon.co.jpを宣伝しリンクすることによってサイトが紹介料を獲得できる手段を提供することを目的に設定されたアフィリエイト宣伝プログラムである、Amazonアソシエイト・プログラムの参加者です。

このブログは個人的なメモ書きであったり、考えを書く場所であります。執筆者の所属する団体や企業のコメントや意向とは無関係であります。また、このブログは必ずしも正しいことが書かれているとは限らず、誤字脱字や意図せず誤った情報を載せる場合がありえます。それが原因で読者が不利益を被ったとしても、執筆者はいかなる責任も負いません。ありがとうございます。