Herramientas para capturar y convertir la web

Handler with RubyAPI de rubí

Descripción

¿Tiene problemas para depurar su controlador? Prueba el Herramienta de prueba de controlador de devolución de llamada.

El controlador descrito aquí procesa las devoluciones de llamada del servicio web de captura de pantalla GrabzIt. La URL de este controlador se pasa a GrabzIt en el callBackURL parámetro de la save método. Sin embargo, esta técnica solo funcionará si se puede acceder al controlador a través de Internet.

Los siguientes parámetros se pasan al controlador como parámetros GET.

  • id: el identificador único de la captura de pantalla, utilizado por obtener_resultado Método
  • filename: el nombre de archivo de la captura de pantalla, creado automáticamente combinando el identificador único de la captura de pantalla con su extensión de archivo
  • mensaje: cualquier mensaje debido a un error causado durante el procesamiento de la captura de pantalla
  • customId: cualquiera ID personalizado que se pasó al servicio web GrabzIt a través de save Método
  • formato: el formato de la captura de pantalla, por ejemplo, "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "json", "pdf", "png", " tiff "," webp "o" xlsx "
  • targetterror: si se devuelve un 1, la captura contiene un error genérico, debido a un problema causado por el objetivo de captura

Si desea bloquear todo el acceso al controlador, excepto desde Grabz, use este técnica de seguridad.

Ejemplo

Recuerde que esta devolución de llamada no funcionará si su aplicación se encuentra en localhost.

Este ejemplo muestra cómo se puede implementar un controlador GrabzIt Ruby. Esto captura cinco parámetros que le pasó del servicio GrabzIt, incluida la identificación única de la captura de pantalla que se pasa al obtener_resultado método.

Este método luego devuelve la captura de pantalla, que es saved en el directorio de captura de pantalla. Sin embargo si un nil el valor se devuelve desde obtener_resultado método esto indica que ha ocurrido un error.

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