使用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
我该如何处理错误或哪里出错?
答案 0 :(得分:4)
您的request
哈希正被您分配request
的{{1}}对象所取代。还要确保在HTTP请求的正文中设置请求参数:
Net::HTTP
您可能会发现以下参考资料有用:http://www.rubyinside.com/nethttp-cheat-sheet-2940.html