Google云端列印节点API TICKET无法运作

时间:2019-07-24 13:34:17

标签: printing google-cloud-platform cloud google-cloud-print

这是我的代码,我使用的是npm node-gcp,可悲的是,票证无法正常工作,我尝试将副本数设为3,以查看打印机是否将打印3,并查看票证是否有效。 ,但不起作用:(

我尝试了所有我可以找到的资源,php票证,c#票证,但都无法使用,

我在npm node-gcp的代码内,并且我试图修改其代码,然后看能不能工作,因为原始代码是他没有通过任何票证。

 return preq({
    method: "POST",
    uri: "https://www.google.com/cloudprint/submit",
    form: {
      title: "Print job title",
      content:
        "test print",
      ticket: {
        version: "1.0",
        print: {
          copies: {
            copies: 3
          },
          page_orientation: {
            type: 0
          },
          margins: {
            top_microns: 0,
            bottom_microns: 0,
            left_microns: 0,
            right_microns: 0
          }
        }
      },

      contentType: "url", //optional, default = url
      printerid: xxxxxxxxxxxxx,
      tags: ["tag1", "tag2"] //optional, default = [],
    },
    headers: {
      "X-CloudPrint-Proxy": "node-gcp",
      Authorization: "OAuth " + this.options.accessToken
    },
    json: true
  })
    .then(function(result) {
      return result;
    })
    .nodeify(cb);
});

我希望得到的页数是3,但是我得到的只有1张纸。

1 个答案:

答案 0 :(得分:0)

我只需要处理这个问题,发现票证需要作为字符串化的json对象发送。

对于表单,请尝试以下操作:

   form: {
      title: "Print job title",
      content:
        "test print",
      ticket: JSON.stringify({
        version: "1.0",
        print: {
          copies: {
            copies: 3
          },
          page_orientation: {
            type: 0
          },
          margins: {
            top_microns: 0,
            bottom_microns: 0,
            left_microns: 0,
            right_microns: 0
          }
        })
      },