Ruby on rails 使用Net::HTTP将请求发布到HTTPS

Ruby on rails 使用Net::HTTP将请求发布到HTTPS,ruby-on-rails,ruby,post,rest-client,net-http,Ruby On Rails,Ruby,Post,Rest Client,Net Http,此使用Ajax的POST请求非常有效: var token = "my_token"; function sendTextMessage(sender, text) { $.post('https://graph.facebook.com/v2.6/me/messages?', { recipient: {id: sender}, message: {text:text}, access_token: token }, function(r

此使用Ajax的POST请求非常有效:

var token = "my_token";

function sendTextMessage(sender, text) {
  $.post('https://graph.facebook.com/v2.6/me/messages?',
    { recipient: {id: sender}, 
      message: {text:text},
      access_token: token
    },
    function(returnedData){
         console.log(returnedData);
  });
};

sendTextMessage("100688998246663", "Hello");
我需要有相同的要求,但在Ruby。我尝试使用Net:HTTP,但它不起作用,而且我没有收到任何错误,因此无法调试它:

    token = "my_token"
    url = "https://graph.facebook.com/v2.6/me/messages?"
    sender = 100688998246663
    text = "Hello"
    request =  {
                 recipient: {id: sender},
                 message: {text: text},
                 access_token: token
                }.to_json


  uri = URI.parse(url)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE

  request = Net::HTTP::Post.new(uri.request_uri)

  response = http.request(request)
  response.body

我应该如何继续获取错误或哪里出错?

您的
请求
哈希将被您分配的
请求
对象所取代
Net::HTTP
。另外,请确保在HTTP请求正文中设置请求参数:

require "active_support/all"
require "net/http"

token = "my_token"
url = "https://graph.facebook.com/v2.6/me/messages?"
sender = 100688998246663
text = "Hello"
request_params =  {
  recipient: {id: sender},
  message: {text: text},
  access_token: token
}
request_header = { 'Content-Type': 'application/json' }

uri = URI.parse(url)

http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
http.verify_mode = OpenSSL::SSL::VERIFY_NONE

request = Net::HTTP::Post.new(uri.path, request_header)
request.body = request_params.to_json

http.request(request)

response = http.request(request)

您可能会发现以下参考资料很有用:

谢谢您的帮助。然而,我还是什么都没有得到。我没有任何错误,facebook上也没有发生任何事情。为什么要删除.to_json?表单编码应该在内部处理
Net::HTTP
。您得到了什么响应?响应的主体是空白的吗?如果是这样,状态码是什么?这就是问题所在,我没有得到任何回应。我在我的控制台上尝试:curl-xpost,但什么也没发生