Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
Help us understand the problem. What is going on with this article?

Twilio Functionsを使って、YuMake気象情報APIのデータを取得する

More than 1 year has passed since last update.

はじめに

YuMake合同会社では、ハッカソンやアプリコンテストなど、多くのイベントへAPI協賛を行っています。また、株式会社KDDI Web Communicationsでは、Twilioという電話APIを提供し、同様に多くのイベントへ協賛しています。Twilioには、Twilio APIおよび、その他のAPIとの連携を容易にするためのnode.js環境「Twilio Functions」が準備されています。今回は、Twilio Functions上でYuMake気象情報APIにアクセスし、データを取得するサンプルを掲載します。気象データとTwilioを連携する場合などの参考にお使いください。

Twilio Functionsの作成

Twilio Functionsの作成は、こちらの記事が参考になります。記事と同様にして、Functionを作成します。テンプレートはBlankを選択し、pathはYuMakeと分かるように「/yumake」などと入力します。以下は、現在地の天気を取得する場合のサンプルです。

Function.js
const https = require('https');

exports.handler = function(context, event, callback) {
    const HOST = '*********';     // YuMake APIへのURLを入力します
    const LAT = '34.692800';      // 必要に応じてconstでパラメータを設定してください(これは位置情報ベースでアクセスする場合です)
    const LON = '135.700537';
    const APIKEY = '********';    // API KEYを設定してください

    // 仕様書に則ってリクエストを書きます
    let result = {};
    const req = https.request(`https://${HOST}?lat=${LAT}&lon=${LON}&key=${APIKEY}`, (res) => {
        res.on('data', (chunk) => {
            result = JSON.parse(chunk);
        });
        res.on('end', () => {
            console.log(`Aさんはいま、天気が ${result.weather} のところにいるようです。さあ、どこでしょうか!?`);
            callback(null, result);
        });
    });

    req.on('error', (e) => {
      console.error(`problem with request: ${e.message}`);
      callback(e.message);
    });

    req.end();

};

取得した他のデータと合わせて、ぜひ気象と別な情報の面白い組み合わせを考えてみてくださいね。
YuMake気象情報APIについては、コチラを参照してください。

takuya310
大学院時代は気象の数値シミュレーションによる研究に携わる。中堅SIerにて在庫管理システムや公共分野の大規模開発を経て、民間気象情報会社へ。その後独立しYuMake合同会社を設立。気象情報API、気象センサー・IoT、気象予報士との連携、データ分析の分野で展開中。 YuMake合同会社 代表 / 一般社団法人コード・フォー・ジャパン 理事 / CODE for IKOMA 代表
https://www.yumake.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away