はじめに
RubyでHTTPClientを使うときの基本構文について記載しました。
Web APIを使って外部データを引っ張るための第一歩!
この記事が役立つ方
- Web APIを触ったことがなくて
- HTTPクライアントを使ったことのない
- Ruby初心者
この記事のメリット
- 外部からデータを引っ張る第一障壁をクリア出来る
環境
- OS: macOS Mojave version 10.14.6
- ターミナルのシェル: zsh
- Ruby 2.6.3
HTTPClientとは?
Rubyで標準で入っているnet/httpよりも機能面が充実しているHTTPクライアントライブラリ。
これを使うことにより、プログラムで外部へHTTPリクエストを送ることが出来るようになります。
導入
まずは以下のようにgemをインストールして下さい。
gem install httpclient
基本コード
以下が基本のコードです。
ここからは活用したいデータによって書き方が異なります。
# HTTPClientを呼び出す
require 'httpclient'
#ベースとなるURLを設定(e-Statからデータを引っ張る場合)
url = 'https://api.e-stat.go.jp/rest/2.1/app/json/getStatsData'
# 新しいインスタンスを作成
client = HTTPClient.new
#クエリの設定(appIdとstatsDataIdはサンプルです。)
query = {
'appId' => 'XXXXXXXXXXXXXXXXXXX'
'statsDataId' => '0000000000'
}
#APIリクエスト
res = client.get(url, query)
#ハッシュ化して返す
return JSON.parse(res.body)
おわりに
今回はかなり部分的な内容となってしまったので、また後日加筆修正します。
e-Statのデータを取り出す方法についてもまとめるつもりです。
外部データを引っ張ると、ハッシュ in 配列 in ハッシュみたいな複雑な構造が多く、勉強になりますね。
政府統計の総合窓口(e-Stat)−API機能へようこそ | 政府統計の総合窓口(e-Stat)−API機能
参考にさせて頂いたサイト(いつもありがとうございます)
Class: HTTPClient — Documentation for httpclient (2.8.3)
Ruby HTTPクライアントの比較表 - Qiita
Rubyを使って天気予報を取得してみた - Qiita