我正在运行一个简单的Sinatra应用程序,我需要查询一些数据并通过JSON发送POST到一个webhook URL进行处理。我不知道如何正确格式化我为HTTParty检索到的记录。无法通过HTTParty POST ActiveRecord查询结果
联系人正在打印到/account/{account_id}/contacts.json我希望他们如何,他们的数据只是没有成功发送。
app.rb
get "/account/:account_id/contacts.json" do
@contacts = Contact.where("sfid = ?", params[:account_id])
HTTParty.post("https://hooks.webapp.com/hooks/catch/387409/1us4j3/",
{
:body => [ @contacts ].to_json,
:headers => { 'Content-Type' => 'application/json', 'Accept' => 'application/json'}
})
@contacts.to_json
end
首先,存在如何差异数据正在打印'@ contacts.to_json'以及它们如何发送'[@contacts] .to_json'。这可能是问题所在。但如果不是这样,我们需要更多关于你如何确定它没有被发送的信息。 –
'where'已经将数组返回给变量'@ contacts'。所以'@ contacts'类型已经是一个数组。我不认为在转换为json之前需要再次转换为数组。 ':body => @ contacts.to_json'没问题。 – Mayank
@AndréGuimarãesSakata我敢肯定,它不会被发送,因为我有一个测试路线,发送 HTTParty.post(“https://hooks.webapp.com/hooks/catch/387409/1us4j3/”, { :body => [':'='value1',:privacy =>'value2'}] .to_json, :headers => {'Content-Type'=>'application/json','Accept'=>'application/json'} }) 成功并被webhook捕获。我在我的问题中发布的代码没有被捕获。 – csakon