Outils pour capturer et convertir le Web

Gestionnaire avec RubyAPI Ruby

Description

Des problèmes pour déboguer votre gestionnaire? Essaie le Outil de test du gestionnaire de rappel.

Le gestionnaire décrit ici traite les rappels à partir du service Web de capture d'écran GrabzIt. L’URL de ce gestionnaire est transmis à GrabzIt dans le répertoire callBackURL paramètre de la save méthode. Cependant, cette technique ne fonctionnera que si le gestionnaire est accessible via Internet.

Les paramètres suivants sont transmis au gestionnaire en tant que paramètres GET.

  • id - l'identifiant unique de la capture d'écran, utilisé par le get_result méthode
  • filename - le nom de fichier de la capture d'écran, créé automatiquement en combinant l'identifiant unique de la capture d'écran avec son extension de fichier
  • message - tout message dû à une erreur provoquée lors du traitement de la capture d'écran
  • customId - toute id personnalisé qui a été transmis au service Web GrabzIt via le save méthode
  • format - le format de la capture d'écran, par exemple "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "json", "pdf", "png", " tiff "," webp "ou" xlsx "
  • targeterror - si un 1 est renvoyé, la capture contient une erreur générique, due à un problème causé par la cible de capture.

Si vous souhaitez bloquer tous les accès au gestionnaire, à l'exception de GrabzIt, utilisez cette commande. technique de sécurité.

Exemple

N'oubliez pas que ce rappel ne fonctionnera pas si votre application est située sur localhost.

Cet exemple montre comment un gestionnaire GrabzIt Ruby peut être implémenté. Cela capture cinq paramètres qui lui sont transmis à partir du service GrabzIt, y compris l’identifiant unique de la capture d’écran qui est transmis au get_result méthode.

Cette méthode renvoie ensuite la capture d'écran, qui est saved dans le répertoire de capture d'écran. Cependant si un nil la valeur est renvoyée par le get_result méthode cela indique qu'une erreur est survenue.

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