如何扫描二维码将信息导入 Google 表格

How to scan a QR Code to Import the Info Into Google Forms

首先我想说我在 google 脚本方面的编码经验有限,但在 R 中有丰富的编码经验。我尝试过使用以前的 stackedoverflow 解决方案 (),但任何时候我编辑 URL,它都会说“抱歉,此时无法打开文件。”

我将 code.gs 下列出的代码复制到主脚本中并更改 'your-form-id-here' 以匹配我的 google sheet 的 ID,并添加了两个 HTML 'Success' 和 'Failure' 的代码,但没有用。

我有一个 google 表格,要求人们输入他们的唯一 ID 号。我不想让人们错误输入他们的电话号码,而是想对其进行设置,以便他们可以扫描 phone 上的二维码并让 Google 表格自动填充第一个要求的问题他们的身份证号码。他们需要回答 google 表格上的其他问题,但我只想自动填充第一个问题。

这是 Google 表格:https://docs.google.com/forms/d/e/1FAIpQLSdsP0e2FsC54QY0Nyrpipi21yC-8ODjO9aRlfOMq51vODRaew/viewform?usp=sf_link

我使用的表单 ID 是 1FAIpQLSdsP0e2FsC54QY0Nyrpipi21yC-8ODjO9aRlfOMq51vODRaew,我认为这是基于 Google 表单 URL.

的 ID

编辑:这是我当前的 Code.gs 脚本:

function doGet(e){
  try {
    var passNo = e.parameters.passNo;
    var qNumber = e.parameters.qNumber;
    
    var form = FormApp.openById('1FAIpQLSdsP0e2FsC54QY0Nyrpipi21yC-8ODjO9aRlfOMq51vODRaew');
    var items = form.getItems();

    // assuming question 1 is the pass number question
    var q = items[qNumber[0] - 1].asTextItem();   
    var itemResponse = q.createResponse(passNo[0])
    
    var FormResponse = form.createResponse();    
    FormResponse.withItemResponse(itemResponse);
    FormResponse.submit();
    
    return HtmlService.createHtmlOutputFromFile('Success')
  }
  catch(e){
    return HtmlService.createHtmlOutputFromFile('Failure'); 
  }
}

我还添加了 Success.html 和 Failure.html 代码,完全按照前面的示例编写:

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    Success
  </body>
</html>

<!DOCTYPE html>
<html>
  <head>
    <base target="_top">
  </head>
  <body>
    Failure
  </body>
</html>

部署脚本后,我得到了 URL 并练习添加“passNo”和“qNumber”,就像他们在示例中所做的那样,将 ?passNo=21480&qNumber=1 添加到我的 URL,但 URL 导致页面错误:

https://script.google.com/macros/s/AKfycbx9oXtjZXGNHPN1axSjKvP5StGbBej0IbQzK1vNT-HB6hzEvIzDbcLor-qtgVDU3ftQ/exec?passNo=1234&qNumber=1

问题与解决方案:

当我看到您当前的脚本时,我注意到在 ar form = FormApp.openById('1FAIpQLSdsP0e2FsC54QY0Nyrpipi21yC-8ODjO9aRlfOMq51vODRaew');https://docs.google.com/forms/d/e/1FAIpQLSdsP0e2FsC54QY0Nyrpipi21yC-8ODjO9aRlfOMq51vODRaew/viewform?usp=sf_link,您使用的是预览 URL 中的 ID。在这种情况下,该 ID 不是 Google 表单 ID。我认为这可能是您遇到问题的原因。

例如,当我使用正确的 Google 表单 ID 测试您的脚本时,没有发生错误。返回“成功”。所以请修改如下。

发件人:

var form = FormApp.openById('1FAIpQLSdsP0e2FsC54QY0Nyrpipi21yC-8ODjO9aRlfOMq51vODRaew');

收件人:

var form = FormApp.openById('### Google Form ID ###');
  • 在这种情况下,请使用 https://docs.google.com/forms/d/###/edit###

注: