Добавление контактов Google через Apps Script не работает должным образом
Я пробую самый первый фрагмент кода скрипта приложений Google, чтобы создать новый контакт. Цель состоит в том, чтобы в будущем автоматически создавать контакты из листа Google и сохранять их в "Контактах", чтобы все они синхронизировались с моим телефоном. Однако созданные контакты создаются в разделе "Другие контакты", а не "Контакты". Контакты, доступные в разделе "Другие контакты", не синхронизируются с телефоном автоматически. Где ошибка, которую я делаю?
Я попробовал простой код, чтобы добавить контакт в скрипт приложения Google. (Указано в документации)
function CreateContact() {
var contact = ContactsApp.createContact('Rahul', 'Kumar', 'rahul.kumar@gmail.com');
}
Ожидаемый результат: создание контакта в разделе "Контакты"
Фактический результат: создание контакта в разделе "Другие контакты"
1 ответ
Нам нужно добавить его в группу моих контактов var mainGroup = ContactsApp.getContactGroup("Системная группа: Мои контакты");
Добавить новые контакты в ярлык
Я обнаружил, что если вы добавите их в ярлык, они быстро добавятся в ваши контакты. Итак, вот функция, которая делает именно это.
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 со значением по умолчанию. Который вы можете изменить на что угодно. }