google-apps-script - 通过应用程序脚本从 Google 文档中删除文本不起作用
问题描述
我使用来自 Woocommerce 的数据(发布请求)在 GAS 中编写发票打印脚本。该脚本在发布请求到来时触发。我放置一个词作为占位符(“#product”)来插入产品数据表。一切完成后,我想删除这个词,但它不起作用。(发票已创建,但“#product”仍保留在发票文档中)
但是当我自己触发脚本时它正在运行(它通过手动运行工作 - “#product”被删除)。我想不通原因。请帮忙!这是脚本:
function doPost(e) {
//Woocommerce Webhook sends order info
var myData = JSON.parse([e.postData.contents]);
//my code
var templateID = "template ID"
var documentID = DriveApp.getFileById(templateID).makeCopy().getId(); //Drive API
var body = DocumentApp.openById(documentId).getBody();
// find "#product" => insert table => loop throug array => appendTableCell
var insert = body.findText('#product'); //#product - placeholder
var point = insert.getElement();
var parent = point.getParent();
var index = parent.getParent().getChildIndex(parent); //get location index => insert product data table at this location
var table = body.insertTable(index);
var header = table.appendTableRow();
header.appendTableCell("smt");
for (var i = 0; i < 2; i++) {
var row = table.appendTableRow();
row.appendTableCell("smt");
row.appendTableCell("smt");
}
body.findText("#product").getElement().removeFromParent(); //clear #product => this code not working with automatic trigger by post request
}
解决方案
推荐阅读
- sql-server - 是否可以向收件人发送两个不同的正文并在 sp_send_dbmail 中复制收件人
- extjs - 现代工具包商店加载事件未触发
- python - 基于另一个数组重新排序
- php - Symfony 控制器相同的功能不起作用
- nuget - 在 VSTS 发布期间将 NuGet 包部署到文件夹位置
- python - TypeError:不支持解码str(将字节转换为str)
- javascript - JavaScript 正则表达式解析 Latex \frac
- iis - 在 IIS 上运行 ASP Core 时出错
- c# - 2.2.1.0 中的自动映射器映射异常
- azure - Azure 服务定义 vmsize