वेब कॅप्चर आणि रूपांतरित करण्यासाठी साधने

रुबीसह हँडलररुबी एपीआय

वर्णन

आपल्या हँडलर डीबग करण्यात समस्या येत आहे? प्रयत्न करा कॉलबॅक हँडलर चाचणी साधन.

येथे वर्णन केलेला हँडलर GrabzIt स्क्रीनशॉट वेब सेवेद्वारे कॉलबॅकवर प्रक्रिया करतो. या हँडलरची URL मध्ये GrabzIt वर दिली गेली आहे callBackURL च्या पॅरामीटर save पद्धत तथापि हँडलर इंटरनेटद्वारे प्रवेशयोग्य असेल तरच हे तंत्र कार्य करेल.

खालील पॅरामीटर्स जीईटी पॅरामीटर्स म्हणून हँडलरला दिली आहेत.

  • आयडी - स्क्रीनशॉटचा अद्वितीय अभिज्ञापक, द्वारे वापरलेला get_result पद्धत
  • फाईलनाव - स्क्रीनशॉटचे फाईलनाव, स्क्रीनशॉटची अद्वितीय अभिज्ञापक त्याच्या फाईल विस्तारासह एकत्रित करून स्वयंचलितपणे तयार केले
  • संदेश - स्क्रीनशॉटच्या प्रक्रियेदरम्यान झालेल्या त्रुटीमुळे कोणताही संदेश
  • सानुकूल आयडी - कोणताही सानुकूल आयडी जी GrabzIt वेब सेवेद्वारे त्यास पाठविली गेली save पद्धत
  • स्वरूप - स्क्रीनशॉटचे स्वरूप, उदा. "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "json", "pdf", "png", " टिफ "," वेबप "किंवा" एक्सएलएक्सएक्स "
  • टार्टरटर - जर एक्सएनयूएमएक्स परत केला असेल तर कॅप्चरमध्ये टिपण्यामुळे उद्दीष्ट झाल्यामुळे सामान्य त्रुटी आढळली.

आपण GrabzIt शिवाय, हँडलरपर्यंत सर्व प्रवेश अवरोधित करू इच्छित असल्यास हे वापरा सुरक्षा तंत्र.

उदाहरण

लक्षात ठेवा आपला अनुप्रयोग लोकलहोस्ट वर असल्यास कॉलबॅक कार्य करणार नाही.

हे उदाहरण दर्शविते की ग्रॅबझीट रुबी हँडलरची अंमलबजावणी कशी केली जाऊ शकते. हे GrabzIt सेवेकडून त्यास पाठविलेले पाच पॅरामीटर्स कॅप्चर करते, ज्यात स्क्रीनशॉटच्या अद्वितीय आयडीसह get_result पद्धत

ही पद्धत नंतर स्क्रीनशॉट परत करते, जी आहे saveस्क्रीनशॉट निर्देशिका मध्ये डी. तथापि जर ए nil वॅल्यू वरुन मिळते get_result ही पद्धत सूचित करते की एक त्रुटी आली आहे.

require 'grabzit'

class HandlerController < ApplicationController
  def index
	  message = params[:message]
	  customId = params[:customid]
	  id = params[:id]
	  filename = params[:filename]
	  format = params[:format]
      targetError = params[:targeterror]
	  
	  grabzItClient = GrabzIt::Client.new("Sign in to view your Application Key", "Sign in to view your Application Secret")
	  result = grabzItClient.get_result(id)
	  
	  if result == nil
	          return
	  end

	  # Ensure that the application has the correct rights for this directory.  
	  screenshot = File.new("public/screenshots/"+filename, "wb")
	  screenshot.write(result)
	  screenshot.close 
  end
end