外部ライブラリをまったく使用せずに、Ruby を介して Kippt API にアクセスしたい。つまり、Ruby に同梱されているものはすべて問題なく、それ以外 (標準ライブラリを除く) は何もない。
これを行うにはどうすればよいですか?プロセスを詳しく教えてください。
これは非常に基本的なアクセスであり、可能であることを示しています。
require "net/https"
require "uri"
uri = URI.parse( 'https://kippt.com/api/users/1/' )
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE
request = Net::HTTP::Get.new(uri.request_uri)
response = http.request(request)
data = JSON.parse( response.body )
=> {
"username"=>"jorilallo",
"bio"=>"Co-founder of Kippt. I love building products.",
"app_url"=>"/jorilallo",
"avatar_url"=>"https://d19weqihs4yh5u.cloudfront.net/avatars/147d86b9-0830-49d8-a449-0421a6a4bf05/160x160",
"twitter"=>"jorilallo",
"id"=>1, "github"=>"jorde",
"website_url"=>"http://about.me/jorilallo",
"full_name"=>"Jori Lallo",
"dribbble"=>"jorilallo",
"counts"=>{"follows"=>1192, "followed_by"=>23628},
"is_pro"=>true, "resource_uri"=>"/api/users/1/"
}
このデモンストレーションを、認証、ポスト パラメータ、リクエストの失敗、および HTTP ベースの API のその他の標準的な問題に対処する再利用可能なコードに組み込むには、かなりの量の作業が必要です。
http://www.rubyinside.com/nethttp-cheat-sheet-2940.htmlを読むことをお勧めします。リクエストをより詳細に構築および処理する方法の例です。それが私が上記を行った方法です(答えを書くまで、Rubyの net/http を直接使用したことはなく、そのサイトから可能性の高いコードブロックを取得しただけです)。