Strumenti per acquisire e convertire il Web

Gestore con Node.jsAPI Node.js

Descrizione

Problemi con il debug del gestore? Prova il Strumento di test del gestore di callback.

Il gestore qui descritto elabora i callback dal servizio web screenshot di GrabzIt. L'URL di questo gestore viene passato a GrabzIt in callBackUrl parametro del save metodo. Tuttavia, questa tecnica funzionerà solo se il gestore è accessibile via Internet.

I seguenti parametri vengono passati al gestore come parametri GET.

  • id - l'identificatore univoco dello screenshot, utilizzato da get_result metodo
  • nome file: il nome file dello screenshot, creato automaticamente combinando l'identificatore univoco dello screenshot con l'estensione del file
  • messaggio: qualsiasi messaggio dovuto a un errore causato durante l'elaborazione dello screenshot
  • customId - any id personalizzato che è stato passato al servizio web GrabzIt tramite save metodo
  • formato - il formato dello screenshot, ad esempio "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "json", "pdf", "png", " tiff "," webp "o" xlsx "
  • targeterror: se viene restituito un 1, l'acquisizione contiene un errore generico, a causa di un problema causato dalla destinazione di acquisizione

Se vuoi bloccare tutti gli accessi al gestore, ad eccezione di GrabzIt, usa questo tecnica di sicurezza.

Esempio

Ricorda che questo callback non funzionerĂ  se l'applicazione si trova su localhost.

Questo esempio mostra come un gestore GrabzIt Node.js può essere implementato usando express. Questo acquisisce cinque parametri passati dal servizio GrabzIt, incluso l'ID univoco dello screenshot che viene passato al get_result metodo.

Questo metodo quindi restituisce lo screenshot, che è saved nella directory dello screenshot.

var express = require('express');
var url = require('url');
var file = require('fs');
var grabzit = require('grabzit');

var app = express();

app.get('/handler', function (req, res) {
    var queryData = url.parse(req.url, true).query;

    var message = queryData.message;
    var customid = queryData.customid;
    var id = queryData.id;
    var filename = queryData.filename;
    var format = queryData.format;
    var targeterror = queryData.targeterror;

    var client = new grabzit('Sign in to view your Application Key', 'Sign in to view your Application Secret');

    client.get_result(id, function(err, result){
        if (err != null) {            
            return;
        }

        file.writeFile(path.join('public', path.join('results', filename)), result, 'binary');
    });

    res.end();
});