Tools zum Erfassen und Konvertieren des Webs

Handler mit RubyRuby API

Beschreibung

Haben Sie Probleme beim Debuggen Ihres Handlers? Probieren Sie die Callback-Handler-Test-Tool.

Der hier beschriebene Handler verarbeitet R├╝ckrufe vom GrabzIt-Screenshot-Webservice. Die URL dieses Handlers wird in der an GrabzIt ├╝bergeben callBackURL Parameter der save Methode. Diese Technik funktioniert jedoch nur, wenn der Handler ├╝ber das Internet erreichbar ist.

Die folgenden Parameter werden als GET-Parameter an den Handler ├╝bergeben.

  • id - die eindeutige Kennung des Screenshots, die von der get_result Methode
  • Dateiname - Der Dateiname des Screenshots, der automatisch erstellt wird, indem die eindeutige Kennung des Screenshots mit der Dateierweiterung kombiniert wird
  • message - jede Nachricht aufgrund eines Fehlers, der w├Ąhrend der Verarbeitung des Screenshots verursacht wurde
  • customId - any benutzerdefinierte ID das wurde an den GrabzIt-Webservice ├╝ber die save Methode
  • format - das Format des Screenshots, zB "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "json", "pdf", "png", " tiff "," webp "oder" xlsx "
  • targeterror - Wenn ein 1 zur├╝ckgegeben wird, enth├Ąlt das Capture einen allgemeinen Fehler, der auf ein vom Capture-Ziel verursachtes Problem zur├╝ckzuf├╝hren ist

Wenn Sie den gesamten Zugriff auf den Handler blockieren m├Âchten, mit Ausnahme von GrabzIt, verwenden Sie diese Option Sicherheitstechnik.

Beispiel

Denken Sie daran, dass dieser R├╝ckruf nicht funktioniert, wenn sich Ihre Anwendung auf localhost befindet.

Dieses Beispiel zeigt, wie ein GrabzIt Ruby-Handler implementiert werden kann. Hiermit werden f├╝nf vom GrabzIt-Dienst ├╝bergebene Parameter erfasst, einschlie├člich der eindeutigen ID des Screenshots, der an den ├╝bergeben wird get_result Methode.

Diese Methode gibt dann den Screenshot zur├╝ck saved im Screenshot-Verzeichnis. Wenn jedoch a nil Wert wird von der zur├╝ckgegeben get_result method dies zeigt an, dass ein Fehler aufgetreten ist.

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