【发布时间】:2021-04-15 18:08:14
【问题描述】:
我正在编写一个应用程序脚本,该脚本将联系信息(姓名和电子邮件)从谷歌表写入谷歌联系人。
google sheet 有 3 列,第一列是时间戳,第二列是电子邮件,第三列是名称。
Apps 脚本工作,将联系人添加到谷歌联系人,但是,当从谷歌表中删除任何电子邮件时,我希望在谷歌表更新/编辑时,该联系人信息也会从谷歌联系人中删除。我尝试了一些,但卡住了,无法成功。我是 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());
}
}
}
【问题讨论】:
-
您现在所拥有的只是创建联系人。您要删除哪个联系人?
-
感谢您的回复;当从谷歌表中删除任何电子邮件或数据行时,我希望删除的数据也从谷歌联系人中删除,该表由谷歌表单(取消订阅表单)更新,因此订阅列表的任何人都可以取消订阅,所以在任何时候我想在我的谷歌联系人中有一个干净的电子邮件列表。
-
如何从数据表中删除联系人?
-
请描述退订表单的事件对象'values'数组
-
您好,我只是想确认一下,当您在工作表中添加联系信息时,如何触发您的 AddToGoogleContacts()?你用按钮吗?自定义菜单?或 onEdit 触发器?此外,根据我的理解,如果您的工作表中的联系信息已被删除,您也希望将其删除谷歌联系人。同样,您计划/想要如何触发该过程?当您删除工作表中的信息时,您会单击一个按钮吗?自定义菜单?类似的东西?
标签: google-apps-script google-sheets google-contacts-api