Ruby on rails 将curl转换为ruby等价物
我无法将curl转换为ruby脚本。基本上,我正在尝试使用parse.com RESTful api。这是卷发Ruby on rails 将curl转换为ruby等价物,ruby-on-rails,ruby,json,curl,httparty,Ruby On Rails,Ruby,Json,Curl,Httparty,我无法将curl转换为ruby脚本。基本上,我正在尝试使用parse.com RESTful api。这是卷发 curl -X POST \ -H "X-Parse-Application-Id: XXX" \ -H "X-Parse-REST-API-Key: YYY" \ -H "Content-Type: application/json" \ -d '{ "channels": [ "Giants", "Mets" ], "data": {
curl -X POST \
-H "X-Parse-Application-Id: XXX" \
-H "X-Parse-REST-API-Key: YYY" \
-H "Content-Type: application/json" \
-d '{
"channels": [
"Giants",
"Mets"
],
"data": {
"alert": "test message"
}
}' \
https://api.parse.com/1/push
这就是我一直试图做的(使用HttParty)
)
我得到一个错误代码107,表示json无效。任何建议都将不胜感激。我认为您只需要在第二个参数中将ruby结构序列化为JSON。参数应该是要发布的字符串,而不是Ruby结构 我认为这会起作用(我能看到的唯一其他可能的问题是,在编写代码时,您是否会通过https进行连接): 。Ruby数据结构中类似JSON的格式不是JSON 这只是Ruby(1.9+)的另一种说法
:foo => "bar"
为什么不使用宝石呢?它是curl库的Ruby接口。您的
通道
值不是curl请求中的数组-可能是服务需要一个数组,并且由于编辑了注释而抛出了一个非常糟糕的错误。我添加了端口443,这样它就可以通过SSL,但是仍然存在JSONY无效的问题。现在,您的Ruby结构与curl示例中的结构不同。尝试在“巨人”的周围放上方括号,例如[“巨人”,使其成为一个数组。
data = {"channels": ['Giants'], "data": {alert: 'un mensaje '}}
puts Parse.post("/1/push", body: data.to_json)
foo: "bar"
:foo => "bar"