所以,如果我执行以下命令,它工作正常:
curl -X POST --compressed -H "Content-Type:application/json" \
-H 'x-api-user: USER_ID' \
-H 'x-api-key: API_TOKEN' \
-d '{"text":"from the api!","type":"todo"}' \
https://habitrpg.com/api/v1/user/task
我尝试让 HTTParty 工作,但在我的理解水平上,他们关于压缩连接的文档基本上不存在。我已经尝试过 NET/HTTP 并且可以建立连接,但是 API 不断给我错误,表明我的数据错误(它说我没有给它一个有效的类型)。这是我正在使用的代码:
data = {:text => "from the app dog", :type => "todo"}
uri = URI.parse("https://habitrpg.com/api/v1/user/task")
http = Net::HTTP.new(uri.host, uri.port)
http.set_debug_output($stdout)
http.use_ssl = true
resp = http.post(uri.request_uri, data, {"x-api-user" => USER_ID, "x-api-key" => API_TOKEN})
resp.body
我还尝试了以下所有数据:
data = {:text => "from the app dog", :type => "todo"}.to_json.to_s
data = "{\"text\":\"from the app dog\",\"type\":\"todo\"}"
data = "'" + "{\"text\":\"from the app dog\",\"type\":\"todo\"}" + "'"
可能还有三四件其他我无法识别的事情。有没有人有什么建议?我完全不知所措。