How to use ruby ​​to parse json response specified by foursquare API

I use the foursquare API to find a specific place. I use the following URL: https://api.foursquare.com/v2/venues/venue_id?oauth_token=Access_token

The response given by the website is json.

Then I use the following code trying to parse this json answer with ruby:

require 'rest-open-uri' require 'json' url = 'https://api.foursquare.com/v2/venues/venue_id?oauth_token=Access_token' buffer = open(url, "UserAgent" => "Ruby-Wget").read result = JSON.parse(buffer) 

Here is the error code I get:

C: /RailsInstaller/Ruby1.9.2/lib/ruby/1.9.1/net/http.rb: 678: in connect': SSL_con nect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verif y failed (OpenSSL::SSL::SSLError) from C:/RailsInstaller/Ruby1.9.2/lib/ruby/1.9.1/net/http.rb:678:in block k at connection 'from C: /RailsInstaller/Ruby1.9.2/ lib / ruby ​​/ 1.9.1 / timeout.rb: 44: in timeou t' from C:/RailsInstaller/Ruby1.9.2/lib/ruby/1.9.1/timeout.rb:89:in timeou t'

Does this error code mean that I cannot open this url because it starts with "https"? Is there a way I could use to open this url and parse the json response?

Thanks in advance!

+4
source share
2 answers

This should work:

 gem install httparty 

then

 require 'httparty' require 'json' response = HTTParty.get("https://api.foursquare.com/v2/venues/vid", :query => {:oauth_token => "abc"}) json = JSON.parse(response.body) 
+16
source

RUBY is case sensitive. require 'json' # json must be lowercase

JSON.parse ()
e.g. JSON.parse (response.body) # JSON must be uppercase

-2
source

All Articles