gpt4 book ai didi

google-apps-script - 防止数据重复时从 Google 表单填充到 Google 电子表格中

转载 作者:行者123 更新时间:2023-12-01 03:05:18 24 4
gpt4 key购买 nike

我有一个简单的 Google 表单,它通过 Google Apps 脚本生成,并将数据存储到脚本创建的电子表格中。当用户通过 Google 表单提交数据时,我想检查电子邮件在电子表格中是否重复,如果是,那么我想阻止插入。任何关于我如何能够做到这一点的指导将不胜感激。我相信 FormsApp 上的 onFormSubmit 在数据插入电子表格后运行。如果是这样,我将如何处理重复项?

最佳答案

  • 如果您设置了 destination spreadsheet在存储所有响应的地方,无法防止插入。

  • 您可以创建一个自定义电子表格,您可以在其中手动插入您选择的表单回复 - 基于 respondent email

  • 为此,您需要创建绑定(bind)到 Google 表单的脚本,该脚本将在 onFormSubmit 上检索并触发最新回复,将回复电子邮件与之前回复的电子邮件进行比较,并根据结果执行或不要将回复插入到您选择的电子表格中。

示例代码:

function myFunction() {
var form=FormApp.getActiveForm();
//set up the collection of emails
form.setCollectEmail(true);
var responses=form.getResponses();
var lastResponse=responses[responses.length-1];
var lastRespondent=lastResponse.getRespondentEmail();
var duplicate=false;
for(var i=0;i<responses.length-1;i++){
if(responses[i].getRespondentEmail()==lastRespondent){
duplicate=true;
}
}
if(duplicate==false){
var mySheet=SpreadsheetApp.openById('SPREADSHEET_OF_YOUR_CHOICE').getSheetByName('Sheet1');
var items=[];
for(var j=0;j<lastResponse.getItemResponses().length;j++){
items.push(lastResponse.getItemResponses()[j].getResponse())
}
mySheet.appendRow(items)
}
}

关于google-apps-script - 防止数据重复时从 Google 表单填充到 Google 电子表格中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58300910/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com