首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我正在编写这段代码,用google表单和电子表格更新google联系人。

问我正在编写这段代码,用google表单和电子表格更新google联系人。
EN

Stack Overflow用户
提问于 2017-06-03 11:35:21
回答 2查看 620关注 0票数 0

我希望这段代码在表单提交时使用触发器自动添加联系人,但我得到了错误。该代码与电子表格正常工作,但我无法使它与表单一起工作。我是个有编码的菜鸟。所以简单的解释是有帮助的

另外,联系人会添加到google联系人中的“其他”组中,有没有办法直接将它们添加到“我的联系人”中?

代码语言:javascript
复制
function createHeaders() {
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = ss.getSheets()[0];

  // Freezes the first row
  sheet.setFrozenRows(1);

  // Set the values we want for headers
  var values = [
    ["First Name", "Last Name", "Email", "Phone Number", "Company", "Notes"]
  ];

  // Set the range of cells
  var range = sheet.getRange("A1:F1");

  // Call the setValues method on range and pass in our values
  range.setValues(values);
}

function createContact() {
  var alreadyAdded = "Already added";
  var sheet = SpreadsheetApp.getActiveSheet();
  var startRow = 2;  // First row of data to process
  var numRows = 2;   // Number of rows to process

  // Fetch the range of cells A2:G3
  var dataRange = sheet.getRange(startRow, 1, numRows, 8)

  // Fetch values for each row in the Range.
  var data = dataRange.getValues();
    for (var i = 0; i < data.length; ++i) {
    var row = data[i];
    var firstName = row[0]
    var lastName = row[1]
    var emailAddress = row[2]
    var phone = row[3]
    var company = row[4]
    var notes = row[5]
    var addedAlready = row[6];

      if (addedAlready != alreadyAdded) {
      // Create contact in Google Contacts
      var contact = ContactsApp.createContact(firstName, lastName, emailAddress);

      // Add values to new contact
      contact.addCompany(company, "");
      contact.addPhone(ContactsApp.Field.WORK_PHONE, phone);
      contact.setNotes(notes);
      sheet.getRange(startRow + i, 7).setValue(alreadyAdded);
      }; 
    };
};
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-03 16:17:44

通过将一个或多个空字符串作为参数传递给createContact()方法,我能够再现错误:

代码语言:javascript
复制
var contact = ContactsApp.createContact("", "", "");

通过记录数据数组中的值来检查数据数组中的值,看看那里是否有空字符串。您可以将代码包装在try块中,阻止停止程序执行的错误。任何错误都将记录在catch块中。

代码语言:javascript
复制
try {
var contact = ContactsApp.createContact(a, b, c);

}

catch(error) {

Logger.log(error);

}
票数 0
EN

Stack Overflow用户

发布于 2017-06-03 23:09:23

我看到你正在尝试将你的电子表格连接到谷歌表单。检查连接到Google窗体

应用程序脚本允许您通过表单和电子表格服务将谷歌表单与谷歌表连接起来。此功能可以根据电子表格中的数据自动创建Google表单。应用程序脚本还允许您使用触发器(如onFormSubmit )在用户响应表单后执行特定的操作。

您可能指的是onFormSubmit。

这是供您参考的代码演示。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44343470

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档