【发布时间】:2020-02-24 15:21:00
【问题描述】:
我的目标很简单,就是从数据范围内将联系人添加到 Google 通讯录应用中,并将它们标记为“同事”和“我的联系人”,这样我就可以在手机上使用它们。以下是我刚刚使用的工作代码想出了。
function myFunction() {
//deletecontacts();
var gn=SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Leader Directory (Read only)');
var systemcon=ContactsApp.getContactGroup('System Group: My Contacts');
var systemmy=ContactsApp.getContactGroup('System Group: Coworkers');
var valuerng=gn.getRange("A2:H138").getValues();
for (var i=0;i<=gn.getLastRow()-2;i++){
var newcontact=ContactsApp.createContact(valuerng[i][0],'' , valuerng[i][1]);
newcontact.addPhone('MOBILE_PHONE',valuerng[i][2]);
newcontact.addAddress('Chapel', valuerng[i][6]);
newcontact.addAddress('Mailing', valuerng[i][4]);
newcontact.addCompany(valuerng[i][7],'');
systemmy.addContact(newcontact);
systemcon.addContact(newcontact)
}
}
任何人都可以修改它们以使它们运行得更快吗?如果我只是将整个 csv 上传到联系人应用程序,只需要 3 秒,但我的代码需要大约 3 分钟。另一个问题是为什么添加新创建的联系人的代码只能在最后运行或者经常运行,
systemmy.addContact(newcontact);
systemcon.addContact(newcontact)
如果在创建新联系人后立即执行,是否会在随机联系人处返回 null 并退出函数?
【问题讨论】:
-
您好@KuanChunYeh,您的脚本使用的是哪个运行时:Rhino 还是 V8?干杯!
-
@ale13 感谢您的跟进。我使用的是 V8 运行时。
标签: google-apps-script google-sheets google-contacts-api