执行时间过长Google AppsScript

时间:2017-11-18 18:38:43

标签: google-apps-script google-contacts

我创建了此脚本以在Google通讯录中大写姓氏。 只有脚本需要花费太多时间。 一个想法?

function nomDeFamilleEnMajuscules() {
  Logger.clear();
  var contacts = ContactsApp.getContacts();
  for (var i in contacts) {
    var nomDeFamille = contacts[i].getFamilyName();
    if (nomDeFamille != '') {
      Logger.log("Nom de famille " + contacts[i].getFamilyName());
      var nomDeFamilleMajuscules = nomDeFamille.toUpperCase();
      var iDContact = contacts[i].getId();
      var contact = ContactsApp.getContactById(iDContact);
      contact.setFamilyName(nomDeFamilleMajuscules);
    }
  }
}

1 个答案:

答案 0 :(得分:0)

如果联系人尚未大写,则仅更新联系人:

    ...
    if(nomDeFamilleMajuscules != nomDeFamille) {
        var iDContact = contacts[i].getId();
        var contact = ContactsApp.getContactById(iDContact);
        contact.setFamilyName(nomDeFamilleMajuscules);
    }
    ...

您可能需要运行几次脚本才能申请所有联系人,但至少每次都不会重新开始。

ContactsApp.getContactById可能需要很长一段时间,因此只有在实际需要时执行它才能加快速度。