Node.js がわからないので雑にやってみる 3 〜webアプリ-お天気アプリ編


前回

今回


環境構築

フォルダ用意して、VS Code立ち上げて、
npm init -y

今回は、 npm i request でrequestというモジュールを使う。
これでAPI呼び出しができるらしい。

main.js 作って動作確認
node main.js で確認

OpenWeather API

アカウント作って、APIキー取得しておく。
アカウント作ったばかりだと、APIキーがアクティブになるのに時間かかるみたいやから注意(メールにそう書いてあった

API key: - Within the next couple of hours, your API key  will be activated and ready to use
APIキー: - 数時間以内にAPIキーが有効になり、使用できるようになります。

APIの呼び出し

Current weather data

const request = require("request");

const options = {
    url: "https://api.openweathermap.org/data/2.5/weather?q=London&appid={API key}",
    method: "GET",
};


request(options, (error, res, body) => {
    console.log(body);
});

VS Codeのターミナルで、node main.js で APIを呼び出せた。

JSON形式を読みやすくする

json:true を足すだけ。

摂氏にする

url: "https://api.openweathermap.org/data/2.5/weather?q=London&appid=hoge",

url: "https://api.openweathermap.org/data/2.5/weather?q=London&units=metric&appid=hoge",


console.log(body.main.temp); で温度だけ表示する

APIキーを環境変数で扱う

保守性のため。

VSCodeターミナルで、npm i dotenv
.devファイル用意
main.jsから読み込み

const request = require("request");
const dotenv = require("dotenv").config();

const options = {
    url: `https://api.openweathermap.org/data/2.5/weather?q=London&units=metric&appid=${process.env.API_KEY}`,
    method: "GET",
    json: true
};


request(options, (error, res, body) => {
    console.log(body.main.temp);
});


任意の都市の天気を呼び出す

ターミナル打つこのコマンド node main.js Tokyo
この配列の2番目を利用する、という形

const request = require("request");
const dotenv = require("dotenv").config();

const argument = process.argv[2];

const options = {
    url: `https://api.openweathermap.org/data/2.5/weather?q=${argument}&units=metric&appid=${process.env.API_KEY}`,
    method: "GET",
    json: true
};


request(options, (error, res, body) => {
    console.log(body.main.temp);
});

// console.log(process.argv[2]);

表示を少し整える

 console.log(`現在の ${argument} の気温は ${body.main.temp} です。`);


#Node .js
#dotenv


いただいたサポートで、書籍代や勉強費用にしたり、美味しいもの食べたりします!