【发布时间】:2016-04-26 03:46:59
【问题描述】:
我在访问 API 时遇到问题。我设置了一个存储 API 密钥的 Windows 环境变量。当我用我的代码调用 API 时,我得到一个 json 解析错误---json/common.rb:155:in `parse': 795: unexpected token at 'FORBIDDEN' (JSON::ParserError) --- 我很漂亮确定失败是因为没有传递环境变量。
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,我会得到正确的响应。除了设置环境变量还有什么必须做的吗?
【问题讨论】:
-
查看环境变量:
puts ENV["FOOD2FORK_KEY"].inspect -
谢谢!!这表明我不知何故在 api 密钥前面有一个空间。谢谢!
标签: ruby-on-rails ruby