Инструменты для захвата и конвертирования Интернета

Обработчик с RubyRuby API

Описание

Возникли проблемы с отладкой вашего обработчика? Попробуйте Инструмент проверки обработчика обратного вызова.

Описанный здесь обработчик обрабатывает обратные вызовы из веб-службы GrabzIt. URL этого обработчика передается GrabzIt в callBackURL параметр save метод. Однако этот метод будет работать только в том случае, если обработчик доступен через Интернет.

Следующие параметры передаются в обработчик как параметры GET.

  • id - уникальный идентификатор скриншота, используемый get_result метод
  • filename - имя файла скриншота, автоматически созданное путем объединения уникального идентификатора скриншота с расширением файла
  • сообщение - любое сообщение из-за ошибки, возникшей при обработке скриншота
  • customId - любой пользовательский идентификатор который был передан веб-сервису GrabzIt через save метод
  • format - формат скриншота, например, «bmp8», «bmp16», «bmp24», «bmp», «csv», «gif», «jpg», «json», «pdf», «png», « TIFF "," WebP "или" XLSX "
  • targetterror - если возвращается 1, то захват содержит общую ошибку из-за проблемы, вызванной целью захвата

Если вы хотите заблокировать весь доступ к обработчику, кроме GrabzIt, используйте это техника безопасности.

Пример

Помните, что этот обратный вызов не будет работать, если ваше приложение находится на localhost.

Этот пример показывает, как может быть реализован обработчик GrabzIt Ruby. Он фиксирует пять параметров, переданных ему из сервиса GrabzIt, включая уникальный идентификатор снимка экрана, который передается в get_result метод.

Затем этот метод возвращает скриншот, который saveD в каталоге скриншотов. Однако если nil значение возвращается из get_result Этот метод указывает на то, что произошла ошибка.

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