【问题标题】:Creating a dynamic Google group update from a Google form从 Google 表单创建动态 Google 群组更新
【发布时间】:2016-04-07 06:19:35
【问题描述】:

只是在寻找最后一段代码。我目前使用下面的代码从表单回复表中提取联系信息并自动添加到现有组。

我将添加一个触发器以在每次表单完成时运行,但是我需要更改代码以仅添加最后一行中的信息。否则,它会在每次表单完成时重新添加所有联系人,而不仅仅是最近的条目。

function addContact() {
var sheet = SpreadsheetApp.getActiveSheet();
var dataRange = sheet.getDataRange();
var data = dataRange.getValues();
for (i =0; i<data.length; i++) { 
var column = data[i];
var firstName = column[1]; 
var lastName = column[2];      
var emailAdd = column[3];
var contact = ContactsApp.createContact(firstName, lastName, emailAdd);
var group = ContactsApp.getContactGroup('Group Name');
debugger;
group.addContact(contact);
}
}

任何和所有帮助表示赞赏。

【问题讨论】:

    标签: google-sheets google-groups


    【解决方案1】:

    使用这个代码,我猜:

    function addContact() {
       var sheet = SpreadsheetApp.getActiveSheet();
       var dataRange = sheet.getDataRange();
       var data = dataRange.getValues();
       var LastDataRow = data[data.length - 1];
       var firstName = LastDataRow[1]; 
       var lastName = LastDataRow[2];      
       var emailAdd = LastDataRow[3];
    
       // and so on...
    }
    

    这部分代码:var LastDataRow = data[data.length - 1]; 为您提供最后一行数据。

    【讨论】:

      【解决方案2】:

      您根本不需要从电子表格中读取数据。

      相反,表单提交的事件处理程序可以接收包含该特定提交的所有数据的对象。

      详情请看:https://developers.google.com/apps-script/guides/triggers/events

      最终会看起来像这样:

      function addContact(e) 
      {
        var contact = ContactsApp.createContact(
          e.namedValues["First Name"].toString(),
          e.namedValues["Last Name"].toString(),
          e.namedValues["email Address"].toString());
        var group = ContactsApp.getContactGroup('Group Name');
        debugger;
        group.addContact(contact);
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-10-29
        • 1970-01-01
        • 1970-01-01
        • 2022-08-02
        • 1970-01-01
        • 2019-05-10
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多