Nodeで外部サービスにアクセスする方法の一つとして
node-fetch というライブラリがあります。
この使用方法を簡単にまとめまーす。
npm install する
まずはnode-fetchをゲットするところからです。
$ npm install --save node-fetch
お決まりのコマンドですね。。。必要に応じて–saveオプションでpackage.jsonに記録しましょう。
レッツコーディング
const fetch = require('node-fetch');
async function api() {
let url = 'アクセスしたいサイトのURL';
let options = {
method = 'GET',
headers = {必要な情報をここにつめる},
query = {必要な情報をここにつめる},
body = {必要な情報をここにつめる}
}
var res = await fetch(url, options);
var status = await res.status;
var responseBody = await res.json();
console.log('status:' + status + ', body:' + responseBody);
}
ポイントは async / await
Node.jsは非同期で動く前提なので、fetchで外部サイトへリクエストを送ると
そのレスポンスを待たずに次の処理が動いてしまうのです。
対策として await を使うことで、レスポンスを待つようになります。
awaitを使わないと全然欲しいデータが取れないので、要注意っす。