我希望这段代码在表单提交时使用触发器自动添加联系人,但我得到了错误。该代码与电子表格正常工作,但我无法使它与表单一起工作。我是个有编码的菜鸟。所以简单的解释是有帮助的
另外,联系人会添加到google联系人中的“其他”组中,有没有办法直接将它们添加到“我的联系人”中?
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);
};
};
};发布于 2017-06-03 16:17:44
通过将一个或多个空字符串作为参数传递给createContact()方法,我能够再现错误:
var contact = ContactsApp.createContact("", "", "");通过记录数据数组中的值来检查数据数组中的值,看看那里是否有空字符串。您可以将代码包装在try块中,阻止停止程序执行的错误。任何错误都将记录在catch块中。
try {
var contact = ContactsApp.createContact(a, b, c);
}
catch(error) {
Logger.log(error);
}发布于 2017-06-03 23:09:23
我看到你正在尝试将你的电子表格连接到谷歌表单。检查连接到Google窗体
应用程序脚本允许您通过表单和电子表格服务将谷歌表单与谷歌表连接起来。此功能可以根据电子表格中的数据自动创建Google表单。应用程序脚本还允许您使用触发器(如onFormSubmit )在用户响应表单后执行特定的操作。
您可能指的是onFormSubmit。
这是供您参考的代码演示。
https://stackoverflow.com/questions/44343470
复制相似问题