Je voudrais pour un utilisateur à l'intérieur de mon ruby on rails application pour être en mesure de présenter un billet pour mon externes billet de système de gestion, squishlist.com. Ils ont une api et des instructions comme suit. Vous devez vous authentifier et d'obtenir un jeton, puis soumettre le billet avec le jeton. De 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}
Pour des fins de test, j'ai créé un contrôleur, itinéraire et la vue (page) pour les tests. Sur mon contrôleur j'ai le texte suivant
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
Et puis j'ai une page que je vais voir le résultat de l'contrôleurs actions et il a le code suivant.
<p><%= @result %></p>
Je sais qu'il travaille en général en raison de réponses que j'ai reçu, le long de la manière. Mon json est différente de l'exemple en raison de champs que j'ai défini dans squishlist. Quelqu'un peut-il m'aider sur ce problème?
Je pense que le réel problème est que je ne peux pas vraiment voir ce que le json ressemble et si elle est encore proche de match. Je ne sais vraiment pas beaucoup sur json. Dois-je utiliser quelque chose qui pourrait être facile. Dois-je utiliser ajax pour présenter ce. Toute aide est grandement appréciée. J'aime la communauté ici.