Google apps script 通过谷歌电子表格创建联系人组
我正在尝试从谷歌表单创建电子邮件分发列表。然后我想把这些人放在一个特定的联络小组中。这是我到目前为止编译的代码。请帮忙。先谢谢你Google apps script 通过谷歌电子表格创建联系人组,google-apps-script,google-sheets,contacts,google-contacts-api,Google Apps Script,Google Sheets,Contacts,Google Contacts Api,我正在尝试从谷歌表单创建电子邮件分发列表。然后我想把这些人放在一个特定的联络小组中。这是我到目前为止编译的代码。请帮忙。先谢谢你 function addContact() { var sheet = SpreadsheetApp.getActiveSheet(); var startRow = 3; var numRows = 10; // I want the rows to be infinite var dataRange = sheet.getRange(
function addContact() {
var sheet = SpreadsheetApp.getActiveSheet();
var startRow = 3;
var numRows = 10; // I want the rows to be infinite
var dataRange = sheet.getRange(startRow, 2, numRows, 10)
var data = dataRange.getValues();
for (i in data) {
var row = data[i];
var firstName = row[1];
var lastName = row[2];
var emailAdd = row[3];
}
// The code below creates a new contact and adds it to the "Work Friends" contact group
var contact = ContactsApp.createContact(firstName, lastName, emailAdd);
var group = ContactsApp.getContactGroup('Work Friends');
group.addContact(contact);
}
你很接近,只是需要一些调整。请参阅解释更改的在线注释
function addContact() {
var sheet = SpreadsheetApp.getActiveSheet();
// var startRow = 3; // This implies you have two header rows...
var headerRows = 2; // Number of header rows to skip
// var numRows = 10; // I want the rows to be infinite (so use getDataRange)
var dataRange = sheet.getDataRange(); // Range containing all non-blank rows & cols
var data = dataRange.getValues(); // Read all data
data.splice(0,headerRows); // Remove header rows
for (i =0; i<data.length; i++) { // Avoid using for..in with arrays
var row = data[i];
var firstName = row[1];
var lastName = row[2];
var emailAdd = row[3];
// Do this IN the loop vvv
// The code below creates a new contact and adds it to the "Work Friends" contact group
var contact = ContactsApp.createContact(firstName, lastName, emailAdd);
var group = ContactsApp.getContactGroup('Work Friends');
debugger; // Pause if running in debugger, to examine state
group.addContact(contact);
}
}
函数addContact(){
var sheet=SpreadsheetApp.getActiveSheet();
//var startRow=3;//这意味着您有两个标题行。。。
var headerRows=2;//要跳过的标题行数
//var numRows=10;//我希望行是无限的(因此使用getDataRange)
var dataRange=sheet.getDataRange();//包含所有非空行和列的范围
var data=dataRange.getValues();//读取所有数据
data.splice(0,headerRows);//删除标题行
对于(i=0;我非常感谢你。我正在创建一个电子邮件通讯组列表,并添加联系人。你介意解释几件事吗:(1)我不理解“data.splice”。(2)如果我创建一个触发器,例如“On form submit”,那么“for”会不会每次都创建重复的联系人?你帮了我很大的忙。再次感谢你。JLS