我可以成功运行以下 curl 命令:
curl my_interesting-api.herokuapp.com/ -H "Authorization: Token token=6bb4f31b5de728xxxxx360b3896"
我正在尝试将其转换为红宝石脚本,如下所示:
require 'httparty'
url = 'my_interesting-api.herokuapp.com/'
response = HTTParty.get(url,
headers: {
"Authorization: Token token" => "6bb4f31b5de728xxxxx360b3896"
}
)
puts response.inspect
我在控制台中收到以下响应,并运行此脚本:
#<HTTParty::Response:0x7f881d04cc28 parsed_response="HTTP Token: Access denied.n", @response=#<Net::HTTPUnauthorized 401 Unauthorized readbody=true>, @headers={"server"=>["Cowboy"], "date"=>["Thu, 10 May 2018 17:24:50 GMT"], "connection"=>["close"], "www-authenticate"=>["Token realm="Application""], "content-type"=>["text/plain; charset=utf-8"], "cache-control"=>["no-cache"], "x-request-id"=>["1fd7115d-497d-439d-af4f-49cb3d28b61f"], "x-runtime"=>["0.002321"], "transfer-encoding"=>["chunked"], "via"=>["1.1 vegur"]}>
还尝试过:
headers: {
"Authorization" => "6bb4f31b5de728xxxxx360b3896"
}
。我得到同样的错误。
想通了。用标题和引号玩音乐椅,直到我想通为止。
require 'httparty'
url = 'my_interesting-api.herokuapp.com/'
response = HTTParty.get(url,
:headers => { "Authorization" => 'Token token="6bb4f31b5de728xxxxx360b3896"'})
puts response.inspect