मैं अपने बाहरी टिकट प्रबंधन प्रणाली, स्क्विशचिन्डी के लिए टिकट जमा करने में सक्षम होने के लिए अपने माणिक के भीतर रेल एप्लिकेशन पर एक उपयोगकर्ता के लिए चाहूंगा। उनके पास एक एपीआई और निर्देश निम्नानुसार है। आपको प्रमाणित करने और टोकन प्राप्त करने की आवश्यकता है और फिर टोकन के साथ टिकट जमा करें। स्क्विशलिस्ट से।
# 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}
परीक्षण प्रयोजनों के लिए, मैंने परीक्षण के लिए एक नियंत्रक, मार्ग और दृश्य (पृष्ठ) बनाया। मेरे नियंत्रक पर मैं निम्नलिखित है
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
और फिर मेरे पास एक पृष्ठ है जो मैं नियंत्रकों के कार्यों के परिणाम को देखने के लिए जाता हूं और इसमें निम्नलिखित कोड है।
<p><%= @result %></p>
मुझे पता है कि जिस तरह से मुझे प्रतिक्रियाएं मिली हैं, उसके कारण यह सामान्य रूप से काम कर रहा है। मेरा जॉनसन उदाहरणों से अलग है क्योंकि मैंने स्क्विशलिस्ट में जिन क्षेत्रों को परिभाषित किया है। किसी को भी इस मुद्दे पर मेरी मदद कर सकते हैं?
मुझे लगता है कि असली समस्या यह है कि मैं वास्तव में यह नहीं देख सकता कि जोसन कैसा दिखता है और अगर यह मैच के करीब भी है। मैं वास्तव में json के बारे में ज्यादा नहीं जानता। क्या मुझे कुछ ऐसा इस्तेमाल करना चाहिए जो आसान हो। क्या मुझे इसे जमा करने के लिए ajax का उपयोग करना चाहिए। कोई भी मदद बहुत ही सराहनीय होगी। मैं यहां के समुदाय से प्यार करता हूं।
:headers => { 'Content-Type' => 'application/json', 'Accept' => 'application/json'}
। नोट: शीर्षलेख को JSON में परिवर्तित नहीं किया जाना चाहिए, यह हैश