2016-05-12 2 views
0

Existe-t-il des exemples de code pour utiliser Google Cloud Print (en utilisant le nouvel OAuth 2) et comment un document arrive dans la file d'attente Google Cloud Print pour imprimer automatiquement il? Ce que j'essaie de faire, c'est de ne pas dépenser des milliers de dollars quand une commande est soumise à notre boutique en ligne, que la commande est automatiquement imprimée sur notre imprimante. Des idées, des pointeurs, des exemples de code.Google Cloud Print ou autre service à imprimer automatiquement en C# ou PHP

J'ai fait beaucoup de recherches, et beaucoup d'exemples utilisant C#, utilisent l'ancien service de Google, pas la documentation OAuth2. À peu près, j'ai besoin d'un service qui enverra une commande d'impression à notre imprimante quand nous recevons une commande. Je peux écrire la pièce du magasin au service, c'est le service à la partie d'imprimante que j'ai un tonne de problèmes avec.

Merci d'avance.

Répondre

0

Il y a une classe brillante de PHP, vous pouvez télécharger et utiliser qui fait exactement cela:

https://github.com/yasirsiddiqui/php-google-cloud-print

+0

Cette classe PHP « brillant » utilisations authentification de l'utilisateur google, ne pas google service auth. Cela signifie que vous devez changer ce code pour travailler avec. –

0

Le problème avec ce que vous voulez réaliser est que Google Cloud Print est destiné aux utilisateurs authentifiés qui soumettent leur propre impression emplois. Si je comprends bien, vous voulez que le serveur soumette un travail d'impression en tant que rappel après avoir reçu une commande. Par conséquent, les travaux d'impression doivent être soumis par un compte de service et non par un utilisateur Google. Cela peut être fait (nous l'utilisons dans la production à l'entreprise où je travaille) à l'aide d'un petit hack, décrit ici:

Share printer with Google API Service Account

Je ne peux pas vous aider avec C# ou PHP, fondamentalement, vous devez être en mesure de faire JWT authentifié appels à Google cloud Print, vous êtes ici un extrait de code dans NodeJS, espérons qu'il aide:

var request = require('google-oauth-jwt').requestWithJWT(); 

service.submitJob = function(readStream,callback) { 
    // Build multipart form data 
    var formData = { 
     printerid: cloudPrintConfig.googleId, 
     title: 'My Title', 
     content: readStream, 
     contentType: "application/pdf", 
     tag: 'My tag', 
     'ticket[version]': '1.0', 
     'ticket[print]': '' 
    }; 
    // Submit POST request 
    request({ 
     uri: cloudPrintConfig.endpoints.submit, 
     json: true, 
     method: 'post', 
     formData: formData, 
     jwt: cloudPrintConfig.jwt 
    }, function (err, res, body) { 
     if (err) { 
     callback(err,null); 
     } else { 
     if (body.success == false) { 
      callback('unsuccessful submission',null); 
     } else { 
      callback(null, body); 
     } 
     } 
    }); 
    } 

Détails sur les informations d'identification JWT peuvent être trouvés here