複数の電話をスプレッドシートから連絡先に移動したいのですが、そのうちのいくつかにはメール アドレスがありません。getContactsByNameを使用すると、書き込みができない配列が返されます。おそらくgetContactbyIdを使用する方法がありますか?
現在使用しているスクリプトは次のとおりです。
function updateContacts() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getActiveSheet();
for (var i = 0; i < sheet.getLastRow()-1; i++) {
var contactEmail = sheet.getRange(i+2, 3, 1, 1).getValue();
var myContact = ContactsApp.getContact(contactEmail);
var group = ContactsApp.getContactGroup("System Group: My Contacts");
if (myContact == null){
group.addContact(ContactsApp.createContact(sheet.getRange(i+2, 1, 1, 1).getValue(),
sheet.getRange(i+2, 1, 1, 1).getValue(),
sheet.getRange(i+2, 3, 1, 1).getValue()));
var contact = ContactsApp.getContactsByName(sheet.getRange(i+2, 1, 1, 1).getValue());
contact[1].setPhone(sheet.getRange(i+2, 2, 1, 1).getValue());
}}}
スプレッドシートは次のように構成されています: 名前、電話番号、電子メール