我正在尝试使用HTTParty连接到某些API。首先,我需要使用我的凭据登录才能获得令牌,之后我需要使用此令牌来发送其他请求。
当我这样做时:
def get_token
HTTParty.post(base_url + '/login', headers: { "Content-Type": "application/json" }, body: body_hash).body
end
其中
def body_hash
{
"username": "my_username",
"apikey": "7867868yiuhi76"
}.to_json
end
并且我正确地收到了令牌。
然后我尝试在API上对其他URL进行GET,如下所示:
response = JSON.parse(get_token)
data = HTTParty.get(base_url + '/some_path', headers: { "Content-Type": "application/json", "Authorization: Bearer" => response['token'] }).body
puts data
我收到错误:
"Internal server error"
有谁知道这里可能出现什么问题?谢谢。
答案 0 :(得分:0)
您只需将参数混合在标题上即可。假设这是Oauth / Oauth2,您需要发送“授权”#39;密钥值为' Bearer token'。
所以对你的例子来说:
HTTParty.get(base_url + '/some_path', headers: { "Content-Type": "application/json", "Authorization": "Bearer #{response['token']}" }).body