Ferramentas para capturar e converter a Web

Manipulador com RubyAPI Ruby

Descrição

Está tendo problemas para depurar seu manipulador? Tente o Ferramenta de teste de manipulador de retorno de chamada.

O manipulador descrito aqui processa retornos de chamada do serviço da Web de captura de tela GrabzIt. A URL desse manipulador é passada para GrabzIt no diretório callBackURL parâmetro do save método. No entanto, essa técnica funcionará apenas se o manipulador estiver acessível via Internet.

Os seguintes parâmetros são passados ​​para o manipulador como parâmetros GET.

  • id - o identificador exclusivo da captura de tela, usado pelo get_result método
  • filename - o nome do arquivo da captura de tela, criado automaticamente combinando o identificador exclusivo da captura de tela com a extensão do arquivo
  • message - qualquer mensagem devido a um erro causado durante o processamento da captura de tela
  • customId - qualquer identificação personalizada que foi passado para o serviço da web GrabzIt por meio do save método
  • formato - o formato da captura de tela, por exemplo, "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "jpg", "json", "pdf", "png", " tiff "," webp "ou" xlsx "
  • targeterror - se um 1 for retornado, a captura conterá um erro genérico, devido a um problema causado pelo destino da captura

Se você deseja bloquear todo o acesso ao manipulador, exceto o GrabzIt, use este técnica de segurança.

Exemplo

Lembre-se de que este retorno de chamada não funcionará se o seu aplicativo estiver localizado no host local.

Este exemplo mostra como um manipulador GrabzIt Ruby pode ser implementado. Isso captura cinco parâmetros passados ​​para ele a partir do serviço GrabzIt, incluindo o ID exclusivo da captura de tela que é passada para o get_result método.

Esse método retorna a captura de tela, que é saved no diretório da captura de tela. No entanto, se um nil valor é retornado do get_result método indica que ocorreu um erro.

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