Mic*_*tor 5 ruby-on-rails rest-client
我正在尝试在Ruby中为此页面中触发的API请求创建一个rest-client请求.(来源)
通过查看页面中的Javascript,我注意到有一个Javascript Blob被创建并且JSON内容被附加到那个,然后以多部分形式提交,并带有以下脚本 -
我尝试使用以下代码用ruby中的rest-client gem模拟这个 -
namespace :materialize do
task :connect => :environment do
base_uri = "https://imatsandbox.materialise.net/web-api/cartitems/register"
request = '{
"cartItems":[
{
"toolID":"d65e1eca-7adf-453d-a3bb-eb051fffb567",
"MyCartItemReference":"some reference",
"modelID":"62352bab-d490-410c-851d-bc62e056e82a",
"modelFileName":"",
"fileUnits":"mm",
"fileScaleFactor":"1",
"materialID":"035f4772-da8a-400b-8be4-2dd344b28ddb",
"finishID":"bba2bebb-8895-4049-aeb0-ab651cee2597",
"quantity":"1",
"xDimMm":"12",
"yDimMm":"159.94",
"zDimMm":"12",
"volumeCm3":"2.0",
"surfaceCm2":"100.0",
"iMatAPIPrice": "25.0",
"mySalesPrice": "26.0",
}
],
"currency":"EUR"
}'
File.open('request', 'wb') do |f|
f.write request
end
response = RestClient.post base_uri, {:data => request, headers: {:multipart => true, accept: :json}}
puts response.request
end
end
Run Code Online (Sandbox Code Playgroud)
我总是得到的反应机构 -
"{\"error\":{\"message\":\"Wrong request body. Check if all parameters set correctly\",\"code\":401},\"cartItems\":[]}"
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?
小智 2
您收到 401,这意味着您的请求未获授权。我认为您需要通过您的请求传递凭据。查看页面底部有关将注册电子邮件地址传递到演示 api 的注释: https: //imatsandbox.materialise.net/api/demo/
看起来你需要这样做:
https://i.materialise.com/web-api/materials?user=<your registered email address here>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
488 次 |
| 最近记录: |