ruby-on-rails – Javascript Blob的Ruby rest-client API请求

ruby-on-rails – Javascript Blob的Ruby rest-client API请求,第1张

概述我正在尝试在 Ruby中为此 page中触发的API请求创建一个rest-client请求.( source) 通过查看页面中的Javascript,我注意到有一个Javascript Blob被创建并且JSON内容被附加到那个,然后以多部分形式提交,并带有以下脚本 – 我尝试使用以下代码用ruby中的rest-client gem模拟这个 – namespace :materialize do 我正在尝试在 Ruby中为此 page中触发的API请求创建一个rest-clIEnt请求.( source)

通过查看页面中的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 requestend  response = RestClIEnt.post base_uri,{:data => request,headers: {:multipart => true,accept: :Json}}  puts response.request endend

我总是得到的反应机构 –

"{\"error\":{\"message\":\"Wrong request body. Check if all parameters set correctly\",\"code\":401},\"cartItems\":[]}"

我究竟做错了什么?

解决方法 你得到401,这意味着你的请求没有被授权.我认为您需要通过您的请求传递凭据.查看页面底部的注释,将注册的电子邮件地址传递给demo API:
https://imatsandbox.materialise.net/api/demo/

看起来你需要这样做:

https://i.materialise.com/web-API/materials?user=<your registered email address here>
总结

以上是内存溢出为你收集整理的ruby-on-rails – Javascript Blob的Ruby rest-client API请求全部内容,希望文章能够帮你解决ruby-on-rails – Javascript Blob的Ruby rest-client API请求所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1292478.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存