2013-12-23 61 views
3

我想從我的Google+ API提取數據,使用這個腳本:open_http:403禁止(OpenURI :: HTTPError)

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>' 

我不確定這裏有什麼問題,任何幫助都會很棒。

+3

當您運行腳本時,您確定實際上正在發送您的API密鑰?你有沒有複製它?它有效嗎? – Linuxios

+0

是的,我得到了API的權利,只是沒有包括它在那裏。 – jxn

+0

啊,我的壞。我剛剛重新生成了API密鑰並使用了新生成的密鑰。它現在有效。 – jxn

回答

0

必須重新生成API密鑰。

0

這個問題看起來像你的谷歌API密鑰不匹配谷歌在他們的服務器。所以你需要確保你使用的是正確的密鑰。是私人服務還是免費服務?