演習課題「Rubyを使って、JSONデータを取得する」
以下のWebAPIにアクセスすると、「ぱいじょ」のキャラクタのJSONデータを取得できます。
```
https://paiza.jp/paijo_charactors
```
右のコードエリアには、Rubyを使って、Webページを読み込むプログラムがあります。このプログラムを修正して、上記のAPIからJSONデータを取得してください。JSONデータは、整形してなくても構いません。
コードの実行をして、エラーが出なければ、演習課題クリアです!
演習課題「Rubyを使って、「いいね!」を投票する」
以下のWebAPIにPOSTメソッドでアクセスすると、「ぱいじょ」の指定のキャラクタに「いいね!」を投票できます。
```
https://paiza.jp/paijo_charactors/like
```
右のコードエリアにあるプログラムを修正して、nameに「midorikawa」を指定し、「いいね!」を投票するプログラムを作成してください。
コードの実行をして、エラーが出なければ、演習課題クリアです!
#06:Web APIでデータを書き込もう - Ruby編
Web APIを呼び出して、Webサービスにデータを書き込むプログラムをRubyで作ってみましょう。「paijoいいねAPI」を呼び出して、いいねを投票するプログラムを作成します。
get_postJSON.rbrequire 'uri'
require 'net/http'
require 'json'
getUri = URI.parse('https://paiza.jp/paijo_charactors')
response = Net::HTTP.get(getUri)
# puts response
jsonObject = JSON.load(response)
jsonObject.each do | item |
puts "#{item['name']}, #{item['likes']}"
end
require 'net/http'
require 'uri'
require 'json'
getUri = URI.parse('https://paiza.jp/paijo_charactors')
response = Net::HTTP.get(getUri)
# puts response
jsonObject = JSON.load(response)
jsonObject.each do | item |
puts "#{item['name']}, #{item['likes']}"
end
postUri = URI.parse('https://paiza.jp/paijo_charactors/like')
postResponse = Net::HTTP.post_form(postUri, {'name' => 'kirishima'})
puts postResponse.body
- class Net::HTTP (Ruby 2.6.0)
https://docs.ruby-lang.org/ja/latest/class/Net=3a=3aHTTP.html
- module URI (Ruby 2.6.0)
https://docs.ruby-lang.org/ja/latest/class/URI.html
- RubyでHTTPリクエストを投げて返ってくるJSONをParseするとかいうよくあるやつ
with Net::HTTP, open-uri - 破いて捨てたノート
http://yachibit.hateblo.jp/entry/2014/04/15/230301
- RubyでHTTPメソッド(GETやPOSTなど)を送る方法 | class Techブログ
https://blog.class-tech.me/how-to-send-http-methods-using-ruby-net-http-library/