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 del Internet
Los siguientes parámetros se pasan al controlador como parámetros GET.
Si desea bloquear todo el acceso al controlador, excepto desde Grabz, use este técnica de seguridad.
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