2016-05-12 67 views
0

是否有任何代码示例说明如何使用Google Cloud Print(使用新的OAuth 2)以及文档何时进入Google Cloud Print队列以自动打印它?Google云打印或其他服务使用C#或PHP自动打印

我正在尝试做的事情并非花费数千美元,当订单提交给我们的在线商店时,订单会自动打印到我们的打印机。任何想法,指针,代码示例。

我已经做了一堆搜索,并且使用C#的很多示例都使用Google的旧服务,而不是OAuth2文档。

非常多,我需要一项服务,当我们收到订单时,它会向我们的打印机发送打印命令。我可以将零件从商店写入服务,它是打印机部件的服务,我有一个吨的麻烦与。

在此先感谢。

回答

0

与你想达到什么样的问题是,谷歌云打印是指用于身份验证的用户提交自己的打印工作。如果我理解正确,您希望服务器在收到订单后提交打印作业作为回调。因此,打印作业需要由服务帐户提交,而不是Google用户。这可以通过使用一个小巧的黑客工具来完成(我们将其用于生产在我工作的公司),描述如下:

Share printer with Google API Service Account

我不能帮你用C#或PHP代码,基本上你需要能够使JWT验证调用谷歌云打印,在这里你是的NodeJS代码片段,希望它有助于:约JWT凭据

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

详细信息,可以发现here