2

我已经开始研究 Google Cloud Print 项目,希望为我的网络创建一个自定义应用程序。我有一个 Windows 打印服务器,它运行着一个我希望向其提交作业的打印机队列。使用 Crome 浏览器设置谷歌云打印,我能够很好地提交和打印作业。但是,我的最终目标要复杂一些。

一旦作业到达我的网络,我需要从服务器端客户端端点自定义访问控制。意思是,一旦提交了作业,我需要能够检查作业所有者的用户名并进行相应的处理。从外观上看,/fetch 接口不存储作业的原始所有者,只是它最终所在队列的最终所有者。这意味着,用户 A 将 Google 云打印机链接到他们的帐户并与用户 B 共享它。用户 B 将作业提交到共享队列。当我在共享打印机 ID 上运行 /fetch 时,用户是用户 A。

还有其他人涉足这个吗?

谢谢

4

1 回答 1

1

看看ownerId这份工作。

/fetch 调用实际上返回一个user包含打印机所有者(用户 A)的字段,但返回的特定作业包含一个ownerId字段,该字段的值是提交打印作业的用户(用户 B)。

希望有帮助。

以下是来自 /fetch 调用的部分响应,包括作业的 ownerId。请记住,这可能是jobs数组中返回的许多作业之一:

...
updateTime: "1403628993840",
status: "QUEUED",
ownerId: "rpreeves@gmail.com",
rasterUrl: "https://www.google.com/cloudprint/download?id=5ca7b1e4-c533-c42b-7d2b-efb862c4215a&forcepwg=1",
ticketUrl: "https://www.google.com/cloudprint/ticket?format=ppd&output=json&jobid=5ca7b1e4-c633-c42b-782b-efb862c4215a",
printerid: "f33c6ff8-fc25-7075-249b-ab65c3e2354e",
...
于 2014-06-12T18:21:03.300 回答