我一直在将google驱动器连接器实现到网络应用程序中。
基本上,当在页面中触发一个已知事件时,它会启动一个Webhook,该Webhook与“驱动器连接器”进行通信,以便生成文档并向其中填充一些信息。
此“驱动器连接器”是使用Google Drive API创建文件夹和文件的自定义PHP。我能够创建文件夹和文件,并为文件提供所需的内容。
为了将内容提供给驱动器文档,我使用了API允许的HTML模板(https://developers.google.com/drive/api/v3/manage-uploads),在上传之前,我使用来自Webhook的数据更改了模板中的一些变量,所有好吧。
问题
一旦我替换了所需数据的变量,我就能够上传HTML文档,但是它必须非常简单并且没有太多的CSS。当我尝试从更实用,更美观的模板上载文档时,Google云端硬盘无法识别很多CSS,它会更改文档的外观。我不能放在页眉或页脚。许多领域都从它的位置移开,使整个文档变得一团糟。
为了让我更容易替换我选择使用HTML的模板中的变量,我开始认为使用.doc或.odt模板会更容易(我需要使用库来做到这一点)
我的问题
使用HTML文档作为Google驱动器文档的模板好吗?还是应该更改尝试实现此目标的方式?
预先感谢
观察:由于我的代码确实没有问题,所以我没有放置任何代码行,但是如果您需要HTML模板来猜测它是否有任何代码,问题,请告诉我。
编辑1-> 我发现了这一点:How can developers edit a Google Doc programmatically? Is there a Docs API?
这不是我的问题的答案,但似乎可以解决我的问题。无论如何,我在那篇文章中并不清楚,我还没有找到合适的文档,因此我仍在努力争取。
编辑2-> 再次阅读文档,我认为我可以首先在google驱动器中创建文档,然后使用API将其下载为HTML,这样我就可以模板,但是我不确定是否可以修改它。如果成功,我将回答我自己的问题并关闭帖子
尝试此操作后,我无法上载从Google文档导出的HTML。 Google API给我的错误是:代码400消息:错误的请求
答案 0 :(得分:2)
最后我可以找到解决方法!
无论如何,这不是一种非常有效的方法。
正如我在EDIT 2中所述,我尝试下载手动在google驱动器中创建的google驱动器文档并导出具有HTML的文档,因此我使用了HTML模板。然后,我添加了变量以供将来进行动态替换,一切都或多或少地很好。
我解决了修改文件的错误请求的问题,似乎在更改了几行代码后,您无法在驱动器中完全删除同一份文档两次。
无论如何,我都不认为这是一种完成我想要的明确而精细的方法,因此,如果有人知道实现此目标的更好方法,我将保持职位公开。