如何检查联系人组是否存在

How to check if ContactGroup exists

我想与同事分享一个 gsheet,他们应该能够 运行 一个脚本来将联系人从 sheet 复制到自己的联系人。 我想创建一个 MyCorp1 ContactGroup 并向其添加联系人。我想检查用户是否已经创建了这个组。找不到检查这个的方法。有解决方法吗?不幸的是,如果我尝试创建组两次或更多次,它将创建重复项。

提前致谢 嘉宝

function addCont(row){ 
var contact = ContactsApp.createContact(row[1], row[0], row[5]);
//if not empty
if (row[3] != "") {contact.setMobilePhone(row[3]);}
if (row[4] != "") {contact.setWorkPhone(row[4]);} 

 var myGroup = ContactsApp.getContactGroup('MyCorp1');
 myGroup.addContact(contact); 
}
//-----------------------------------------------------------------------------------
function delcreateGRP(){ 
 var myGroup = ContactsApp.getContactGroup('MyCorp1');
 myGroup.deleteGroup();  
 ContactsApp.createContactGroup('MyCorp1');
}
//-----------------------------------------------------------------------------------
function copyContacts() {
var startRow = 1;  // First row of data to process
// This is the Request Spreadsheet
var ss = SpreadsheetApp.openById(REQUEST_SPREADSHEET_ID);
var sheet = ss.getSheets()[0];

// Fetch all the data from the Request Spreadsheet
// getRowsData was reused from Reading Spreadsheet Data using JavaScript Objects 
//var data = getRowsData(sheet);
//var sheet = SpreadsheetApp.getActiveSheet();
var data = sheet.getDataRange().getValues();
Logger.log('datalength: ' + data.length);
for (var i = startRow; i < data.length; ++i ) {
var row = data[i];
row.rowNumber = i + 2;
addCont(row);
} 
}

由于 .getContactGroup('Group Name') 方法 returns null 如果没有给定名称的联系人组,您可以使用 if/else 语句来完成您的工作。

var group = ContactsApp.getContactGroup('Group Name');

if(group) {
  //do something if the group exists
} else {
  //do something if the group DOES NOT exist
}

这是我正在使用的文档:https://developers.google.com/apps-script/reference/contacts/contacts-app#getContactGroup(String)