【问题标题】:How to return or get the timestamp from google form如何从谷歌表单返回或获取时间戳
【发布时间】:2022-08-17 23:21:01
【问题描述】:

请不要介意我的无知。目前我是一个“让你的办公室生活更轻松的 DIYer”,我正在尝试使用 GoogleForms 构建一个 pdf 生成器,据此,我已经成功地运行了一个脚本并从中生成了一个 pdf 文件。

通过使用 GoogleForms,问题的答案用于填写 GoogleDoc 模板,它会自动更改/替换其中的指定值。但是,我现在面临的困境是如何捕获提交表单后创建的“时间戳”。

这是我正在使用的代码:

function onFormSubmit(e) {
  const info = e.namedValues;
  createPDF(info)
}

function createPDF(info){
 
  const pdfFolder = DriveApp.getFolderById(\"19Mbse07Dh03SXhCMDCuUHwP1oNqfhul_\");
  const tempFolder = DriveApp.getFolderById(\"1ye9x0l_izDGku91g4ekxDMH8JDIyxdB1\");
  const tempDoc = DriveApp.getFileById(\"1p2nCjS4z_4MEGSud833DBRf9Lcby0zPWT_k3SjLiMoo\");

  const newTempFile = tempDoc.makeCopy(tempFolder)

  const openDoc = DocumentApp.openById(newTempFile.getId());
  const body = openDoc.getBody();
  body.replaceText(\"{q3}\", info[\'Timestamp\'][0]);
  body.replaceText(\"{q1}\", info[\'1. Description\'][0]);
  body.replaceText(\"{q2}\", info[\'2. Description\'][0]);
  
  openDoc.saveAndClose();

  const blobPDF = newTempFile.getAs(MimeType.PDF);
  const pdfFile = pdfFolder.createFile(blobPDF).setName(\"My PDF\")
  
  
}

我现在遇到的问题是如何在提交表单后创建“时间戳”。

该表单成功捕获了“1.Description”和“2.Description”。 Description\" 并更改了我用来创建 pdfFile 的 GoogleDoc 模板中的表单。

我已经按照\“Form Submit\”下的文档,特别是namedValues 来尝试返回\'Timestamp\'

{
  \'First Name\': [\'Jane\'],
  \'Timestamp\': [\'6/7/2015 20:54:13\'],
  \'Last Name\': [\'Doe\']
}

文档中提到了 \'Timestamp\',但我无法提取它。

有人可以帮我解决这个问题吗?我确定我错过了一些东西。

    标签: javascript google-apps-script google-sheets triggers google-forms


    【解决方案1】:

    要提取时间戳,请使用e.namedValues["Timestamp"][0],即

    var timestamp = e.namedValues["Timestamp"][0];
    

    【讨论】:

      猜你喜欢
      • 2014-06-17
      • 1970-01-01
      • 2021-06-10
      • 1970-01-01
      • 2021-09-26
      • 2021-12-30
      • 2021-05-12
      • 2014-11-21
      • 1970-01-01
      相关资源
      最近更新 更多