RubyのプログラムでWebAPIを利用する方法を現役エンジニアが解説【初心者向け】
初心者向けにRubyのプログラムでWebAPIを利用する方法について現役エンジニアが解説しています。WebAPIとは、外部のサイトが提供しているプログラムから利用できるような機能のことです。天気予報や株式情報やyoutubeの動画に関する設定、googleカレンダーなどがあります。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
RubyのプログラムでWebAPIを利用する方法について解説します。
そもそもRubyについてよく分からないという方は、Rubyとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプRuby講座の内容をもとに紹介しています。
今回は、Rubyに関する内容だね!
どういう内容でしょうか?
RubyのプログラムでWebAPIを利用する方法について詳しく説明していくね!
お願いします!
APIとは?WebAPIとは?
APIとはApplication Programming Interfaceの略称で、何かしらのサービス提供者が、そのサービスを利用するために提供するインタフェースのことを指します。
有名なAPIだと、youtubeのAPIを使用すれば、youtube動画の検索や表示を実装できます。
画像検索のAPIなら画像検索の機能を、ビットコインのAPIなら価格を取得する機能を、郵便番号のAPIなら住所を取得する機能を、使えるようになります。
RubyのプログラムでWebAPIを利用する方法
RubyでWebAPIを使用する場合は、net/httpのライブラリを使用します。
またデータはjson形式のことが多いので、jsonのライブラリも一緒に使うことが多いです。
手順は
- アクセスするURLをパースする(解析する)
- httpの通信を設定する
- リクエストを作成する
- リクエストを投げる/レスポンスを受け取る
- データを変換する(json=>hashなど)
の5つになります。
実際に書いてみよう
それでは、実際に書いてみましょう。今回はkeyやsecretを必要としない、単純なAPIを叩いてみます。
ランダムユーザージェネレーターというオープンソースのAPIを使用して、ダミーの名前を取得してみましょう。
それでは書いていきます。
require 'net/http' require 'json' # 1.urlを解析する url = URI.parse("https://randomuser.me/api/") # 2.httpの通信を設定する # 通信先のホストやポートを設定 https = Net::HTTP.new(url.host, url.port) # httpsで通信する場合、use_sslをtrueにする https.use_ssl = true # 3.リクエストを作成する req = Net::HTTP::Get.new(url.path) # 4.リクエストを投げる/レスポンスを受け取る res = https.request(req) # 5.データを変換する hash = JSON.parse(res.body) # 結果を出力 puts hash["results"][0]["name"] 結果は実行するたびに変わりますが、以下のようになります。 {"title"=>"miss", "first"=>"viola", "last"=>"westberg"}
以上でAPIの解説を終わります。
クエリを使用して、条件を指定して情報をとってきたり、データの登録/更新/削除もAPIが提供されていれば、実施することができます。ぜひ様々なAPIを試してみてください。
監修してくれたメンター
メンター金成さん
フリーランスエンジニア。 使える言語は、ruby python go 。最近はgoにハマってます。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でもRuby on Railsを使ったプログラミングを習得できるオンラインブートキャンプRuby講座を開催しています。
挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。