LoginSignup
5
9

More than 3 years have passed since last update.

【はじめてのWebAPI】RubyでのHTTPClientの基本構文

Posted at

はじめに

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

5
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
9