仅在Google通讯录中的“系统组:我的通讯录”中删除通讯录

时间:2020-03-10 09:31:36

标签: google-sheets google-contacts-api

下面的代码将删除ID与Google表格中的ID不匹配的Goggle联系人中的所有联系人。但是问题是它删除了所有不匹配的联系人。但是,我只想从“系统组:我的联系人”中删除联系人。

代码:

function deleteSingleContacts() {
  Utilities.sleep(3000);
  var contactIds = ContactsApp.getContacts().map(function(contact) {
    return contact.getId(); // Get current contact ids
  });
  var sh3 = SpreadsheetApp.getActive().getSheetByName("MacRadio's Customers"); // Please change accordingly
  var currentIds = sh3.getRange("R5:R").getValues().map(function(value) {
    return value[0];
  }).filter(function(val) {
    return val != "";
  })
  for (var i = 0; i < contactIds.length; i++) {
    if (currentIds.indexOf(contactIds[i]) == -1) {
      var contact = ContactsApp.getContactById(contactIds[i]);
      ContactsApp.deleteContact(contact);
    }
  }
}

1 个答案:

答案 0 :(得分:0)

ContactsApp.getContacts()替换为var group = ContactsApp.getContactGroup('My Contacts');ContactsApp.getContactsByGroup(group)

相关问题