我正尝试在Ruby中向通过Microsoft Machine Learning Studio发布的API编写POST请求。我返回错误400与以下内容:带有JSON主体的Ruby POST请求
require 'unirest'
require 'json'
uri = "https://ussouthcentral.services.azureml.net/workspaces/a0e65d42d21c423fa4027d98f6ad364f/services/0d797f1b26d4410cae35c50d25d1c7cd/execute?api-version=2.0&details=true"
apikey = "some api key"
params = {some json body}
response = Unirest.post(uri, headers: {"content_length" =>"235", "content-type" => "application/json", "authorization" => "Bearer" + " " + apikey}, parameters: params)
对于我的生活,我无法弄清楚如何构造这个请求。根据文件:
授权:持票人abc123
必填。将API密钥传递给此处。从API的发布者获取此密钥。
内容长度
必填。内容正文的长度。
内容类型:应用/ JSON
如果请求体在JSON格式发送必需。
接受:application/json
可选的。使用标题以JSON格式接收响应。
我对Ruby不是很好,但是当我使用时,我的文本编辑器似乎不喜欢它:在标题和值之间而不是=>。
的身体,我需要在请求中包含如果显示这样的文档中:
{
"Inputs": {"input1": {
"ColumnNames": [
"Case Number",
"Case Type",
"Address",
"Description",
"Case Group",
"Date Case Created",
"Last Inspection Date",
"Last Inspection Result",
"Status",
"Permit and Complaint Status URL",
"Latitude",
"Longitude",
"Location"
],
"Values": [
[
"0",
"value",
"value",
"value",
"value",
"",
"",
"value",
"value",
"value",
"0",
"0",
"value"
],
[
"0",
"value",
"value",
"value",
"value",
"",
"",
"value",
"value",
"value",
"0",
"0",
"value"
]
]
}
},
"GlobalParameters": {}}
每次我扔在编辑器中,并尝试运行该脚本,我得到各种错误。意想不到,期待结束,等等......
任何人都可以请解释我在做什么错在这里?
unirest明确usess:标题名称和内容之间,使用第三方库时要小心,因为你需要仔细阅读他们的文档:这是unirest的RUBY http://unirest.io/ruby.html –