Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby open_http:403禁止(OpenURI::HTTPError)_Ruby_Api_Https_Open Uri - Fatal编程技术网

Ruby open_http:403禁止(OpenURI::HTTPError)

Ruby open_http:403禁止(OpenURI::HTTPError),ruby,api,https,open-uri,Ruby,Api,Https,Open Uri,我正在尝试使用以下脚本从我的Google+API中提取数据: require 'open-uri' require 'json' google_api_key = 'put your google api key here' page_id = '105672627985088123672' data = open("https://www.googleapis.com/plus/v1/people/#{page_id}?key=#{google_api_key}").read ob

我正在尝试使用以下脚本从我的Google+API中提取数据:

require 'open-uri'
require 'json'

google_api_key = 'put your google api key here'
page_id = '105672627985088123672'

data = open("https://www.googleapis.com/plus/v1/people/#{page_id}?key=#{google_api_key}").read    
obj = JSON.parse(data)

puts obj['plusOneCount'].to_i
然而,我不断地发现这个错误:

/Users/xng/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/open-uri.rb:346:in `open_http': 403 Forbidden (OpenURI::HTTPError)
    from /Users/xng/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/open-uri.rb:769:in `buffer_open'
    from /Users/xng/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/open-uri.rb:203:in `block in open_loop'
    from /Users/xng/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/open-uri.rb:201:in `catch'
    from /Users/xng/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/open-uri.rb:201:in `open_loop'
    from /Users/xng/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/open-uri.rb:146:in `open_uri'
    from /Users/xng/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/open-uri.rb:671:in `open'
    from /Users/xng/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/open-uri.rb:33:in `open'
    from gplus.rb:8:in `<main>'
/Users/xng/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/open-uri.rb:346:in'open_-http':403禁止(OpenURI::HTTPError)
from/Users/xng/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/openuri.rb:769:in'buffer_open'
from/Users/xng/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/open uri.rb:203:“开环中的块”中
from/Users/xng/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/openuri.rb:201:in'catch'
from/Users/xng/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/openuri.rb:201:在“开环”中
from/Users/xng/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/openuri.rb:146:in'open_uri'
from/Users/xng/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/openuri.rb:671:in'open'
from/Users/xng/.rvm/rubies/ruby-1.9.2-p320/lib/ruby/1.9.1/openuri.rb:33:in'open'
从gplus.rb:8:in`'

我不确定这里出了什么问题,任何帮助都会很好。

问题似乎是您的google API密钥与google在其服务器中的密钥不匹配。因此,您需要确保使用了正确的键。这是私人服务还是免费服务

必须重新生成API密钥。

运行脚本时,是否确实发送了API密钥?你抄对了吗?它有效吗?是的,我的api密钥是正确的,只是没有包括在上面。啊,我的错。我只是重新生成了API密钥,并使用了新生成的密钥。现在可以了。@jenn添加您自己的答案,然后接受它