Tôi muốn người dùng trong ứng dụng ruby on rails của tôi có thể gửi vé đến hệ thống quản lý vé bên ngoài của tôi, squishlist.com. Họ có một api và hướng dẫn như sau. Bạn cần xác thực và lấy mã thông báo và sau đó gửi vé cùng với mã thông báo. Từ squishlist.
# get the token
https://api.squishlist.com/auth/?cfg=testcorp&user_key=privatekey&api_key=TEST-KEY-12345
=> {"token": "authtoken",
"expires": "2010-06-16 13:31:56"}
# and then the ticket with the token
https://api.squishlist.com/rest/?cfg=testcorp&token=authtoken&method=squish.issue.submit&prj=demo
POST data: {'issue_type': 1, 'subject': 'Hello, world.', 4: 'Open', 5: 10}
Với mục đích thử nghiệm, tôi đã tạo bộ điều khiển, tuyến đường và chế độ xem (trang) để thử nghiệm. Trên bộ điều khiển của tôi, tôi có những thứ sau
require 'httparty'
require 'json'
class SubmitticketController < ApplicationController
def submit_a_ticket
@cfg = 'xxxsupport'
@user_key = '4787fsdbbfbfsdbhbfad5aba91129a3f1ed1b743321f7b'
@api_key = 'MrUser411'
@project = 'excelm-manoke'
@url_new_string = 'https://api.squishlist.com/auth/?cfg='+@cfg+'&user_key='+@user_key+'&api_key='+@api_key
# https://api.squishlist.com/auth/?cfg=xxxsupport&user_key=4787fsdbbfbfsdbhbfad5aba91129a3f1ed1b743321f7b&api_key=MrUser411 - this is what is created by @url_new_string
response = HTTParty.get(@url_new_string.to_str) #submit the string to get the token
@parsed_and_a_hash = JSON.parse(response)
@token = @parsed_and_a_hash["token"]
#make a new string with the token
@urlstring_to_post = 'https://api.squishlist.com/rest/?cfg='+@cfg+'&token='+@token+'&method=squish.issue.submit&prj='+@project
#submit and get a result
@result = HTTParty.post(@urlstring_to_post.to_str, :body => {:subject => 'This is the screen name', :issue_type => 'Application Problem', :status => 'Open', :priority => 'Normal', :description => 'This is the description for the problem'})
end
end
Và sau đó tôi có một trang mà tôi truy cập để xem kết quả của các hành động của bộ điều khiển và nó có mã sau.
<p><%= @result %></p>
Tôi biết rằng nó đang hoạt động nói chung vì những phản hồi mà tôi đã nhận được trong suốt quá trình. Json của tôi khác với ví dụ vì các trường tôi đã xác định trong danh sách bình phương. Bất cứ ai có thể giúp tôi về vấn đề này?
Tôi đoán vấn đề thực sự là tôi không thể thực sự nhìn thấy chiếc json trông như thế nào và liệu nó có gần trùng khớp hay không. Tôi thực sự không biết nhiều về json. Tôi có nên sử dụng thứ gì đó có thể dễ dàng không. Tôi có nên sử dụng ajax để gửi cái này không. Bất kỳ trợ giúp nào cũng được đánh giá rất cao. Tôi yêu cộng đồng ở đây.
:headers => { 'Content-Type' => 'application/json', 'Accept' => 'application/json'}
. Lưu ý: tiêu đề không nên được chuyển đổi sang JSON, nó được kỳ vọng sẽ trở thành một băm