Добавление контактов Google через Apps Script не работает должным образом - PullRequest
0 голосов
/ 23 марта 2019

Я пробую самый первый фрагмент кода скрипта приложений Google, чтобы создать новый контакт.Цель состоит в том, чтобы в будущем автоматически создавать контакты из листа Google и сохранять их в «Контактах», чтобы все они синхронизировались с моим телефоном.Однако созданные контакты создаются в разделе «Другие контакты», а не «Контакты».Контакты, доступные в разделе «Другие контакты», не синхронизируются с телефоном автоматически.Где ошибка, которую я делаю?

Я попробовал простой код, чтобы добавить контакт в скрипт приложения Google.(См. Документацию)

function CreateContact() {
  var contact = ContactsApp.createContact('Rahul', 'Kumar', 'rahul.kumar@gmail.com');
}

Ожидаемый вывод: создание контакта в разделе «Контакты»

Фактический вывод: создание контакта в разделе «Другие контакты»

1 Ответ

0 голосов
/ 23 марта 2019

Добавление новых контактов в метку

Я обнаружил, что если вы добавите их в метку, они быстро добавятся в ваши контакты.Итак, вот функция, которая делает именно это.

function addContact(first,last,email,label) {
  var label=label || 'New';//default label
  if(first && last && email && label) {
    var contact=ContactsApp.createContact(first,last,email);
    var allgroups=ContactsApp.getContactGroups();//gets all groups
    var grpnames=getGroupNamesArray();//Get all the names of your groups in an array
    var index=grpnames.indexOf(label);
    if(index==-1) {
      var grp=ContactsApp.createContactGroup(label);
    }else{
      var grp=allgroups[index];//if group is already there then use it
    }
    contact.addToGroup(grp);  
  }
  //var html=Utilities.formatString('<br />Add New Contact<br />First: %s, Last: %s Email: %s', contact.getGivenName(),contact.getFamilyName(),contact.getEmails()[0].getAddress());//debugging
  //var userInterface=HtmlService.createHtmlOutput(html);//debugging
  //SpreadsheetApp.getUi().showModelessDialog(userInterface, 'Contact');/debugging
}

function getGroupNamesArray() {
  var allGrps=ContactsApp.getContactGroups();
  var allNames=[];
  for(var i=0;i<allGrps.length;i++) {
    allNames.push(allGrps[i].getName());
  }
  return allNames;
}

Вы можете добавить контакты следующим образом:

function testAddContact1 () {addContact ('Kenny', 'Corral', 'kenny @ missyou.com ', null); // null со значением по умолчанию.Который вы можете изменить на что угодно.}

...