2012-09-12 96 views
0

我正在写一个脚本来使用谷歌购物API进行价格跟踪。当我用curl或网页浏览器打开这个URL时,它会加载数据。通过https访问apis与红宝石

https://www.googleapis.com/shopping/search/v1/public/products?key=AIzaSyC24EXbQZ1X7KmaKLJ-Bd9SKgOx4x9ob-M&country=US&q=digital+camera

然而,当我使用这个Ruby脚本

require "rubygems" 
require "net/https" 

@url = 'https://www.googleapis.com/shopping/search/v1/public/products?key=AIzaSyCGGKfldgrPQsXAJw5Dbn1M3QWZ9vqVyBQ&country=US&q=digital+camera' 
uri = URI.parse @url 
http = Net::HTTP.new(uri.host, 443) 
http.use_ssl = true 
http.verify_mode = OpenSSL::SSL::VERIFY_PEER 
http.ca_file = File.join(File.dirname(__FILE__), "./cacert.pem") 
http.start { http.request_get(uri.path) {|res| print res.body } } 

我得到这个错误:

"error": { 
    "errors": [ 
    { 
    "domain": "usageLimits", 
    "reason": "dailyLimitExceededUnreg", 
    "message": "Daily Limit Exceeded. Please sign up", 
    "extendedHelp": "https://code.google.com/apis/console" 
    } 
    ], 
    "code": 403, 
    "message": "Daily Limit Exceeded. Please sign up" 
} 
} 

我的理论是错误的,从我的Ruby代码是怎么来不正确地使用https。 cacert.pem来自curl.haxx.se/ca/cacert.pem 我需要做什么才能通过https访问api?

回答

0

这个错误对我来说很不言自明。每日限额是多少?你有多少个请求?

+0

自从我昨天注册以来,我提出了8个要求。每日限制为每天2.5k个请求,每秒限制1个请求。 –