Google 需要应用程序脚本和脚本数据库替换示例

Google apps script and script db replacement example needed

我有一个 google 应用程序脚本 UI 我正在 google 文档中使用。

我正在尝试替换使用脚本数据库的当前处理程序。 Script DB 已被弃用。我写的信息量很少,我想我会把信息写到 google sheets.

这是来自 .html

的处理程序
function addApprover(){
    google.script.run.withSuccessHandler(function() {          
      getApprovers();          
      $('#approver').val('');                    
    }).addApprover($("#approver").val());
  }

.gs

function addApprover(email){
  var db = ScriptDb.getMyDb();
  var docId = DocumentApp.getActiveDocument().getId();
  var ob =    {
           docId: docId,
           approverEmail: email,
           status: null, 
           emailSent: false 
          }            
  db.save(ob); 

  var history =  {
         docId: docId,
         action: 'Added Approver',
         email: email,
         date: Utilities.formatDate(new Date(), "GMT", "MM-dd-yyyy' 'HH:mm:ss"), 
        }
db.save(history);
}

我想我仍然调用 .gs 函数,只需要相应地更改函数。

我相当确定文本框批准者拥有电子邮件地址。

如何访问这些项目?

我相当确定我正在寻找一个 "for each" 语句来遍历每个电子邮件地址并向他们发送消息并将他们的名字写到 sheet 的特定区域但是我我不确定如何进行。

希望这能让你入门:

function addApprover(email){
  var docId = DocumentApp.getActiveDocument().getId();

  var ss = SpreadsheetApp.openById('Your Spreadsheet file ID here');
  var sheetToWriteTo = ss.getSheetByName('Your sheet name here');

  var rowData = [docId, email, null, false];

  sheetToWriteTo.appendRow(rowData);

  var history = [docId, 'Added Approver', email, Utilities.formatDate(new Date(), "GMT", "MM-dd-yyyy' 'HH:mm:ss")];

  sheetToWriteTo.appendRow(rowData);
}

如果要将两组数据写入两个不同的 sheet,则需要获取对第二个 sheet 的引用。数据进入数组,而不是对象。尽管您也会在 Google 文档中看到一个称为对象的数组。如果您看到方括号 [],则它是一个数组。

如果您有任何问题,请使用 Logger.log() 语句 and/or debug 和断点调试代码,然后 post 另一个问题,如果这是个大问题,如果是小问题,请在此处发表评论。