2016-04-25 33 views
0

我無法訪問API。我已經設置了一個存儲API密鑰的Windows環境變量。當我用我的代碼調用API時,我得到一個json解析錯誤--- json/common.rb:155:在`parse'中:795:'FORBIDDEN'處的意外標記(JSON :: ParserError)---我很漂亮確定失敗是因爲環境變量未被傳遞。如何在Ruby中傳遞Windows環境變量

require 'httparty' 
class Recipe 
    include HTTParty 
    base_uri "http://food2fork.com/api" 
    default_params key: ENV["FOOD2FORK_KEY"] 
    default_options.update(verify: false) 
    format :json 
    def self.for (keyword) 
    puts ENV["FOOD2FORK_KEY"] 
    get("/search", key: ENV["FOOD2FORK_KEY"] , query: {q: keyword})["recipes"] 
    end 
end 
puts Recipe.for('chocolate') 

puts行顯示CLI的正確密鑰,如果我使用api鍵從瀏覽器運行API,我會得到正確的響應。除了設置環境變量之外,還有什麼其他的必須完成?

+0

看看env var:'puts ENV [「FOOD2FORK_KEY」]。inspect' –

+0

Thanks !!這揭示了我在api鍵之前有一個空間。謝謝! – NodeNewb

回答

0

查找到環境變量:

puts ENV["FOOD2FORK_KEY"].inspect 

,並確保包含有效的值。