Help us understand the problem. What is going on with this article?

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

はじめに

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

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
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  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
ユーザーは見つかりませんでした