gpt4 book ai didi

ruby-on-rails - 将 curl 转换为等效的 ruby

转载 作者:太空宇宙 更新时间:2023-11-03 16:31:16 24 4
gpt4 key购买 nike

我在将 curl 转换为 ruby​​ 脚本时遇到问题。基本上我正在尝试使用 parse.com RESTful api。这是 curl

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)

puts "hello world"

require 'httparty'

require 'json'

class Parse
include HTTParty
base_uri "api.parse.com:443"
headers "X-Parse-Application-Id" => "XXX", "X-Parse-REST-API-Key" => "YYY", "Content-Type" => "application/json"

end

option = {:channels => "Giants", :data => {:alert => "un mensaje de mierda"}}
puts Parse.post("/1/push", body: option.to_json)

)

我收到错误代码 107,表示无效的 json。任何建议将不胜感激。

最佳答案

我认为您只需要在第二个参数中将 ruby​​ 结构序列化为 JSON。参数应该是要 POST 的字符串,而不是 Ruby 结构。

我认为这会起作用(我能看到的唯一可能的问题是您是否会在编写代码时通过 https 连接):

data = {"channels": ['Giants'], "data": {alert: 'un mensaje '}}
puts Parse.post("/1/push", body: data.to_json)

. . . Ruby 数据结构中类似 JSON 的格式不是 JSON,

foo: "bar"

只是 Ruby (1.9+) 的另一种说法

:foo => "bar"

关于ruby-on-rails - 将 curl 转换为等效的 ruby,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15403134/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com