通过PHP进行Google云打印

通过PHP进行Google云打印,php,command-line,google-cloud-print,Php,Command Line,Google Cloud Print,我正在尝试制作一个应用程序,在为客户端生成PDF后自动打印PDF。(应他的要求)我安装了一台云打印机并运行,如果我尝试将它与chrome之类的东西一起使用,它的效果非常好 PHP的所有库都非常过时(最长有4年历史),大多数库都已经完全损坏,或者几乎没有关于如何使用它们的文档,而试图使用谷歌自己的文档更是一场噩梦 我能想到的最好的办法就是使用这个图书馆,主要是因为它是我唯一能真正弄明白如何使用它的图书馆 但是,当我使用此功能提交打印作业时,帐户所有者(我)会收到一封警告电子邮件,表示有可疑的人正在

我正在尝试制作一个应用程序,在为客户端生成PDF后自动打印PDF。(应他的要求)我安装了一台云打印机并运行,如果我尝试将它与chrome之类的东西一起使用,它的效果非常好

PHP的所有库都非常过时(最长有4年历史),大多数库都已经完全损坏,或者几乎没有关于如何使用它们的文档,而试图使用谷歌自己的文档更是一场噩梦

我能想到的最好的办法就是使用这个图书馆,主要是因为它是我唯一能真正弄明白如何使用它的图书馆

但是,当我使用此功能提交打印作业时,帐户所有者(我)会收到一封警告电子邮件,表示有可疑的人正在尝试登录他们的帐户,并且该帐户已被阻止

是否有人知道是否有一个(正在使用的)库来执行此操作,或者是否有一个可供我使用的命令行选项(首选)
system()
exec()

注意:我对python有0%的了解,使用JavaScript提交这些作业不是一个选项,因为不允许最终用户修改文档。



更新[2015/09/08]:出于某种原因,谷歌不允许通过某些帐户进行打印,即使在使用OAuth2时,一个快速解决方法就是创建一个全新的帐户并使用该帐户进行打印

我从来没有听说过Google Cloud printing,但它似乎只是一个简单的REST API,在这种情况下,您不需要一个库来与它交互,只需使用类似于CURL的东西即可。下面是一个页面,您可以测试它们提供的各种接口:

此处提供了用于提交作业的干式参数列表:

我只需要使用CURL来发布我的请求,而不必担心过度设计一些大型类,尤其是当您不需要API中的所有可用选项时。您应该看看Python示例—我知道您对Python没有太多经验,但是您设置为login等的HTTP头将与PHP中的相同:

login.putheader('content-type', 'application/x-www-form-urlencoded')
同:

$request_headers[] = 'content-type: application/x-www-form-urlencoded';
curl_setopt($ch, CURLOPT_HTTPHEADER, $request_headers);`
我确实在这里找到了一个API,但它是在付费墙后面,因此我无法证明它的质量-如果您是为客户这样做的,尽管它可能值得您为查看它而节省的金钱和精力:


我已经更新了使用Google OAuth2的代码,现在不会有任何与帐户被阻止或安全风险等相关的问题。下面是更新代码的url

我找到了另一种方法,即通过exec()命令调用java脚本,因为用PHP实现这一点几乎是不可能的。无论如何谢谢你!代码已更新为使用Google OAuth2,现在您将不会面临任何问题。代码已更新为使用Google OAuth2,现在您将不会面临任何问题@YasirSiddiqui感谢更新的代码!我从git hub下载了您的源代码,在运行index.php文件后,我转到链接,可以看到要打印的文件列表,但我的打印机不打印该列表中的任何文件。我不知道发生了什么