首页 > 解决方案 > 通过应用程序脚本从 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
        }

标签: google-apps-scriptweb-applicationsgoogle-drive-apihttp-postgoogle-docs

解决方案


推荐阅读