App Engine的Google应用程序



我想基于存储在用户Google Drive上的(Google Doc)模板的Google Apps文档,以及在Google App Engine上运行的Servlet持有的一些XML数据。

最好是我想在GAE上尽可能多地运行。是否可以在GAE上运行Apps Service API或在GAE上下载/操纵Google Doc?我找不到任何合适的东西

一种替代方案显然是使用应用程序脚本将XML作为参数传输并通过GAE启动脚本的脚本实现合并功能,但是相比之下,它似乎有些尴尬。

编辑:具体来说,我正在寻找replaceText脚本功能,如下所示,如下所示,将在GAE中实现。我想通过驱动器/邮件API支持剩余的代码。

// Get document template, copy it as a new temp doc, and save the Doc’s id
var copyId   = DocsList.getFileById(providedTemplateId)
              .makeCopy('My-title')
              .getId();
var copyDoc  = DocumentApp.openById(copyId);
var copyBody = copyDoc.getActiveSection();
// Replace place holder keys,  
copyBody.replaceText("CustomerAddressee", fullName);
var todaysDate =  Utilities.formatDate(new Date(), "GMT+2", "dd/MM-yyyy"); 
copyBody.replaceText("DateToday", todaysDate);
// Save and close the temporary document
copyDoc.saveAndClose();
// Convert temporary document to PDF by using the getAs blob conversion
var pdf = DocsList.getFileById(copyId).getAs("application/pdf"); 
// Attach PDF and send the email
MailApp.sendEmail({
    to: email_address, 
    subject: "Proposal", 
    htmlBody: "Hi,<br><br>Here is my file :)<br>Enjoy!<br><br>Regards Tony", 
    attachments: pdf}); 

正如您已经发现的那样,应用程序脚本是唯一可以访问API修改Google文档的脚本。除非您导出到其他格式(例如PDF或.DOC),否则所有其他方法都无法执行此操作/注释/命名范围和其他Google文档功能。因此,就像您说的那样,如果您必须使用Google文档API,则必须调用应用程序脚本(作为内容服务)。另请注意,您显示的示例应用程序脚本代码是旧的,并且使用了被取代的docslist,因此您需要将其移植到驱动器API中。

应用程序脚本在标准已发布的Google API之上几乎是Backs。越来越多的行为变得越来越熟悉。

显然,应用程序脚本是基于JS的,而GAE则不是。除了与脚本相关的脚本相关的所有API都可以在标准GAE客户端运行中提供。

没有代码可以在这里检查,所以恐怕通用答案就是我所拥有的。

我现在看到它可以通过使用Google Drive API导出(下载)Google Apps doc文件作为pdf(或其他格式)来解决它,并进行简单的替换-Text使用例如itext库

相关内容

  • 没有找到相关文章

最新更新