Outils pour capturer et convertir le Web

Gestionnaire avec Node.jsAPI Node.js

Description

Des problèmes pour déboguer votre gestionnaire? Essaie le Outil de test du gestionnaire de rappel.

Le gestionnaire décrit ici traite les rappels à partir du service Web de capture d'écran GrabzIt. L’URL de ce gestionnaire est transmis à GrabzIt dans le répertoire callBackUrl paramètre de la save méthode. Cependant, cette technique ne fonctionnera que si le gestionnaire est accessible via Internet.

Les paramètres suivants sont transmis au gestionnaire en tant que paramètres GET.

  • id - l'identifiant unique de la capture d'écran, utilisé par le get_result méthode
  • filename - le nom de fichier de la capture d'écran, créé automatiquement en combinant l'identifiant unique de la capture d'écran avec son extension de fichier
  • message - tout message dû à une erreur provoquée lors du traitement de la capture d'écran
  • customId - toute id personnalisé qui a été transmis au service Web GrabzIt via le save méthode
  • format - le format de la capture d'écran, par exemple "bmp8", "bmp16", "bmp24", "bmp", "csv", "gif", "jpg", "json", "pdf", "png", " tiff "," webp "ou" xlsx "
  • targeterror - si un 1 est renvoyé, la capture contient une erreur générique, due à un problème causé par la cible de capture.

Si vous souhaitez bloquer tous les accès au gestionnaire, à l'exception de GrabzIt, utilisez cette commande. technique de sécurité.

Exemple

N'oubliez pas que ce rappel ne fonctionnera pas si votre application est située sur localhost.

Cet exemple montre comment un gestionnaire GrabzIt Node.js peut être implémenté en utilisant express. Cela capture cinq paramètres qui lui sont transmis à partir du service GrabzIt, y compris l’identifiant unique de la capture d’écran qui est transmis au get_result méthode.

Cette méthode renvoie ensuite la capture d'écran, qui est saved dans le répertoire de capture d'écran.

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();
});