【问题标题】:Is it possible to edit documents using the Google Drive API?是否可以使用 Google Drive API 编辑文档?
【发布时间】:2015-08-24 13:00:00
【问题描述】:

我需要使用相同的模板创建每周文本。作为一个懒惰的程序员,我想通过创建一个可以输入数据的谷歌表单来自动化大部分工作。然后运行 ​​PHP 脚本,我想解析新条目并将其放入自动创建的新文档中。

我创建了带有占位符(例如 <DATE><NEWMEMBERCOUNT>)的模板,稍后我想将其替换为使用 Google 表单输入的值。

为此,我已经使用包 google/apiclientasimlqt/php-google-spreadsheet-client 来读取表单结果(存储在电子表格中)并复制模板文档每个条目。

我快完成了,只需要用相应的值替换占位符,但我似乎找不到这样做的方法。具体来说,我需要阅读文档的内容,对其进行一些转换(即替换占位符)并将其与转换后的文本一起保存。

在开始编程之前我应该​​考虑到这一点..

我是否可以只使用 PHP 来编辑文档?如果是这样,我该怎么办?任何指导表示赞赏!

【问题讨论】:

  • 曾经有一个用于编辑文档的 gdata api,但它被关闭并被 Google drive api 取代,它不允许您编辑文件。谷歌电子表格数据 API 仍然有效
  • 但我不认为电子表格数据 API 能够编辑文档?另外,仍然存在是否意味着他们也打算关闭它?
  • 我认为他们不会关闭工作表,除非他们有别的东西。不,我不认为 sheet api 可以编辑工作表以外的任何内容。

标签: php google-drive-api google-api-php-client


【解决方案1】:

您无法就地编辑,但可以下载、编辑、上传。这是一个经典的邮件合并,即。获取包含(行)数据的电子表格,将模板应用于这些行,从而为每一行生成一个输出文件?

如果是这样,简单...

  • 下载电子表格
  • 下载模板
  • 对于每个电子表格行
    • 用数据替换占位符
    • 插入一个新文件到驱动器

这一切都可以通过 PHP 的 Drive API 完成

【讨论】:

  • 我现在已经这样做了。该模板是一个 docx 文件(基本上是一个 zip),但我可以解压缩,替换其内容并重新压缩,然后再次上传。在那里添加(无)有序列表会有点困难,但那是另一回事。谢谢!
【解决方案2】:

除了 google 应用程序脚本之外,其他任何东西都无法做到这一点。见https://developers.google.com/apps-script/reference/document/document-app

您可以使用应用程序脚本创建一个“contentService”并从您的 php.ini 中调用它。如果您计划每天进行多次通话,请注意配额有限。

有关执行此内容服务的更多信息在其他 s.o. 中进行了介绍。专门提出的问题。

【讨论】:

    猜你喜欢
    • 2021-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-08
    • 2012-09-10
    • 1970-01-01
    相关资源
    最近更新 更多