Контакты google со всеми номерами хранятся не только у нас в телефонах. К ним можно, достаточно легко, получить доступ прямо из таблицы google, всего лишь правильно написав правильный скрипт:
function getAllContacts() {
var ss=SpreadsheetApp.getActiveSheet();
var group=ContactsApp.getContactGroup('System Group: My Contacts');
var contactsArray=group.getContacts();
var contactsData=[];
for (var i=0;i<contactsArray.length;i++){
var company=contactsArray[i].getCompanies().length;
var company1='',work='';
if (company>0){
company1=contactsArray[i].getCompanies()[0].getCompanyName();
work=contactsArray[i].getCompanies()[0].getJobTitle()}
var phones=contactsArray[i].getPhones();
var Phone1='',Phone2='';
if (phones[0]!=undefined){
Phone1=phones[0].getPhoneNumber().replace('+7','7');
Phone1=Phone1.replace(/\+/g,'').replace(/\(/g,'').replace(/\)/g,'').replace(/ /g,'').replace(/\-/g,'');
if (Phone1.charAt(0)=='8'){Phone1=Phone1.replace('8','7')};
}
if (phones[1]!=undefined){
Phone2=phones[1].getPhoneNumber().replace('+7','7');
Phone2=Phone2.replace(/\+/g,'').replace(/\(/g,'').replace(/\)/g,'').replace(/ /g,'').replace(/\-/g,'');
if (Phone2.charAt(0)=='8'){Phone2=Phone2.replace('8','7')};
}
var mails=contactsArray[i].getEmails();
var mail1='',mail2='';
if (mails[0]!=undefined){mail1=mails[0].getAddress()}
if (mails[1]!=undefined){mail2=mails[1].getAddress()}
var birth=''
var dates=contactsArray[i].getDates();
var realMonth=0;
if (dates[0]){
switch (dates[0].getMonth().toString()){
case 'JANUARY':realMonth='01';break;
case 'FEBRUARY':realMonth='02';break;
case 'MARCH':realMonth='03';break;
case 'APRIL':realMonth='04';break;
case 'MAY':realMonth='05';break;
case 'JUNE':realMonth='06';break;
case 'JULY':realMonth='07';break;
case 'AUGUST':realMonth='08';break;
case 'SEPTEMBER':realMonth='09';break;
case 'OCTOBER':realMonth=10;break;
case 'NOVEMBER':realMonth=11;break;
case 'DECEMBER':realMonth=12;break;
}
birth=dates[0].getDay()+'.'+realMonth+'.'+dates[0].getYear()}
var notes=contactsArray[i].getNotes();
contactsData.push([contactsArray[i].getId(),contactsArray[i].getFullName(),company1,work,Phone1,Phone2,mail1,mail2,notes,birth])
}
if (contactsData.length>0){
ss.getRange(2, 1, contactsData.length, contactsData[0].length).setValues(contactsData).sort(2);
}
}
Что делает скрипт?
1. Получает контакты из списка, который отображается у Вас в телефоне.
2. Осуществляет поиск полей:
1. Получает контакты из списка, который отображается у Вас в телефоне.
2. Осуществляет поиск полей:
- ФИО
- Компания
- Должность
- Номера телефонов (только два первых). Т.к. способов записать номер телефона точно больше двух, скрипт обрабатывает Российские номера и передаёт в таблицу без знака +.
- Адреса e-mail адресов (тоже только два первых)
- День рождения
- Заметки
3. Передаёт их в текущий лист таблицы, затем сортирует по ФИО. Заголовок оставляет пустым.
Уже можно использовать в качестве инструмента для создания резервной копии контактов. Так на всякий случай. Буду рад ответить на вопросы.
Привет
ОтветитьУдалитьЯ чайник - но быстро учусь - где найти информацию как начать делать скрипты:
- автоматизация гугл таблиц и гугл документов (например есть шаблон договора, а в гугл таблице данные по клиенту и эти данные по клиенту как-то автоматизируются в гугл документы - в договор и тому прочее),
- автоматизация гугл таблиц и календаря гугл(в таблице например создаю дату встречи -описание - место встречи и все это дело как то отображается в гугл календарь)
Здравствуйте.
Удалитьhttps://zapier.com/learn/google-sheets/google-apps-script-tutorial/
Но лучше, наверное, взять готовый скрипт и попробовать переделать его для своих целей, читая попутно официальную документацию. Так и обучение будет проходить интереснее.
Насколько я понял этот скрипт только выгружает.
ОтветитьУдалитьА изменения в таблицы для выгрузки в контакты, насколько будет сложно сделать?
Доброго дня.
УдалитьПочитав официальную документацию, не очень и сложно.
Спасибо большое за ваш скрипт! Но если нужны адреса, группы, форма обращения и другие разделы, как их прописать? Как добавить все разделы из телефонной книги в гугл таблицы? Если кто нибудь знает, поделитесь пожалуйста скриптом или хотя бы путь для решения данного вопроса? Заранее спасибо!
ОтветитьУдалить