2016-04-25 83 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 

,并确保包含有效的值。