首页 > 解决方案 > 使用应用程序脚本从谷歌表格中删除电子邮件时如何从谷歌联系人中删除联系信息

问题描述

我正在开发一个应用程序脚本,该脚本将联系信息(姓名和电子邮件)从谷歌表写入谷歌联系人。

  google sheet 上有 3 列,第一列是时间戳,第二列是电子邮件,第三列是名称。

应用程序脚本可以将联系人添加到谷歌联系人,但是,我希望当从谷歌表中删除任何电子邮件时,在谷歌表更新/编辑时,该联系人信息也会从谷歌联系人中删除。我尝试了一些,但卡住了,无法成功。我是 Apps 脚本的新手。

如果帮助我编写脚本,我将不胜感激。

这是我得到的:

function AddToGoogleContacts() {

var sheet = SpreadsheetApp.getActive().getSheetByName("sheet1");  
for (var i = 0; i < sheet.getLastRow()-1; i++) { 

var contactEmail = sheet.getRange(i+2,2,1,2).getValue(); 
var myContact = ContactsApp.getContact(contactEmail); 

 if (myContact === null){  ContactsApp.createContact(sheet.getRange(i+2,3,1,2).getValue(),"",sheet.getRange(i+2,2,1,2).getValue());  

 }
 }
 } 

标签: google-apps-scriptgoogle-sheetsgoogle-contacts-api

解决方案


function delGoogleContact(email) {
  const ss = SpreadsheetApp.getActive();
  const sh = ss.getSheetByName("sheet1");
  const vs = sh.getRange(2,1,sh.getLastRow()-1,3).getValues();
  vs.forEach((r,i)=>{
    if(r[1]==email){
      ContactsApp.deleteContact(ContactsApp.getContact(email));
    } 
  });
} 

推荐阅读