Экспорт друзей VK в Google Contacts / Хабр
После покупки андроид-фона, появилась необходимо перебросить всех друзей ВК с нормальными номерами телефона в Гугл контакты. В интернете ничего подходящего не нашел, поэтому пришлось написать свой скрипт на Python.
В Гугл контактах создается группа VK( можно поменять название группы, строка 13 в скрипте), в которую заносятся все пользователи из ВК. Работает с синхронизацией по полному имени (имя + фамилия). Если контакт уже существует, то в нем обновляются все данные, и контакт добавляетсяв группу VK. Если в Гугл контактах у Вас более 1000 контактов, то увеличьте переменную numberOfContacts = ‘1000’ до необходимого значения.
Переносится фотография профиля из ВК, день рожения, правдивые номера телефонов.
Если в основном номера украинские, сделайте переменную ukraine = 1.
Для работы скрипта необходим Python, Vkontakte api for Python, gdata (Google Api for Python).
Авторизация ВК происходит с помощью токена, его необходимо указать в скрипте(строка 18). Получить токен можно здесь. Для авторизации в Google надо в скрипте указать логин и пароль gmail(строки 11, 12).
Можно запускать.
# -*- coding: utf-8 -*- import vkontakte import gdata.data import gdata.gauth import gdata.contacts.client import gdata.contacts.data import atom #Google email = '' password = '' groupName = 'VK' numberOfContacts = '1000' #VK #URL for getting token http://oauth.vk.com/authorize?client_id=2859200&scope=friends&response_type=token tokenVK = '' #If Ukraine, make it 1 ukraine = 0 def TransformPhone(phone): if len(phone) < 5: return 0 phone.replace('-', '') phone.replace('(', '') phone.replace(')', '') phone.replace(' ', '') if phone[1:].isdigit(): if not ukraine: return phone else: if len(phone) == 7: return '+38044' + phone elif phone[0] == '+': return phone elif phone[0:3] == '380': return '+' + phone elif phone[0:2] == '80': return '+3' + phone elif phone[0] == '0': return '+38' + phone else: return 0 else: return 0 def TransformBirthday(date): if len(date) > 5: year = date[date.rfind('.') + 1:] month = date[date.find('.') + 1:date.rfind('.')] if len(month) == 1: month = '0' + month day = date[0:date.find('.')] if len(day) == 1: day = '0' + day gDate = year + '-' + month + '-' + day else: month = date[date.rfind('.') + 1:] if len(month) == 1: month = '0' + month day = date[0:date.find('.')] if len(day) == 1: day = '0' + day gDate = '--' + month + '-' + day return gDate def makeStr(data): return data.encode('utf-8') def GetIndex(seq, attribute, value): return next(index for (index, d) in enumerate(seq) if d[attribute] == value) def CheckVkGroup(gd_client): feed = gd_client.GetGroups() for entry in feed.entry: if makeStr(entry.title.text) == groupName: return entry.id.text return 0 def CreateVkGroup(gd_client): new_group = gdata.contacts.data.GroupEntry(title=atom.data.Title(text=groupName)) created_group = gd_client.
CreateGroup(new_group) return created_group def GetAllContacts(gd_client): query = gdata.contacts.client.ContactsQuery() query.max_results = numberOfContacts feed = gd_client.GetContacts(q=query) return feed.entry def downloadPhoto(url, file_name): from urllib2 import Request, urlopen #Create the request req = Request(url) # Open the url f = urlopen(req) # Open our local file for writing local_file = open(file_name, "wb") #Write to our local file local_file.write(f.read()) local_file.close() def removeLocalPhoto(file_name): from os import remove remove(file_name) def UpdateContact(gd_client, contact, friend, vkGroup): #Set the contact's phone numbers. if ('mobile_phone' in friend) and (friend['mobile_phone'] != 0): contact.phone_number.append(gdata.data.PhoneNumber(text=friend['mobile_phone'], rel=gdata.data.WORK_REL, primay='true')) if ('home_phone' in friend) and (friend['home_phone'] != 0): contact. phone_number.append(gdata.data.PhoneNumber(text=friend['home_phone'], rel=gdata.data.HOME_REL)) if 'bdate' in friend: contact.birthday = gdata.contacts.data.Birthday(when=friend['bdate']) #Set Group for VK friends contact.group_membership_info.append(gdata.contacts.data.GroupMembershipInfo(href=vkGroup)) #Push changes to Google gd_client.Update(contact) #Download photo from vk, add to google, remove from local computer local_image_filename = friend['photo_big'][friend['photo_big'].rfind('/') + 1:] downloadPhoto(friend['photo_big'], local_image_filename) gd_client.ChangePhoto(local_image_filename, contact, content_type='image/jpeg') removeLocalPhoto(local_image_filename) def CreateContact(gd_client, friend, vkGroup): new_contact = gdata.contacts.data.ContactEntry() name = friend['full_name'] new_contact = gdata.contacts.data.ContactEntry(name=gdata.data.Name(full_name=gdata.
data.FullName(text=name))) contact = gd_client.CreateContact(new_contact) UpdateContact(gd_client, contact, friend, vkGroup) if __name__ == '__main__': #Google authorization gd_client = gdata.contacts.client.ContactsClient(source='Export contacts to Google') gd_client.ClientLogin(email, password, gd_client.source) #Get contacts googleContacts = GetAllContacts(gd_client) print "Received Google Contacs" #VK authorization vk = vkontakte.API('2859200', 'Uq9YfuXTq8RUZbrGNnEP') vk = vkontakte.API(token=tokenVK) #Get list of VK friends friends = vk.friends.get(fields="first_name, last_name, bdate, contacts, photo_big", order='name') print "Received VK friends" #Create group in Google Contacs for VK if not exist vkGroup = CheckVkGroup(gd_client) if not vkGroup: CreateVkGroup(gd_client) vkGroup = CheckVkGroup(gd_client) #Make list of VK friends more useful vkFriendsName = [] for record in friends: record['full_name'] = record['first_name'] + u' ' + record['last_name'] if 'bdate' in record: record['bdate'] = TransformBirthday(record['bdate']) if 'home_phone' in record: record['home_phone'] = TransformPhone(record['home_phone']) if 'mobile_phone' in record: record['mobile_phone'] = TransformPhone(record['mobile_phone']) del record['first_name'] del record['last_name'] del record['uid'] del record['online'] vkFriendsName. ![]()
append(record['full_name']) #Update existing contacts for contact in googleContacts: #Some magics, because of retrieving none existed Google contact try: makeStr(contact.name.full_name.text) except: pass else: if contact.name.full_name.text in vkFriendsName: index = GetIndex(friends, 'full_name', contact.name.full_name.text) friend = friends[index] UpdateContact(gd_client, contact, friend, vkGroup) print "Updated: " + makeStr(friend['full_name']) vkFriendsName.remove(friend['full_name']) #Create new contacts for name in vkFriendsName: index = GetIndex(friends, 'full_name', name) friend = friends[index] CreateContact(gd_client, friend, vkGroup) print "Created: " + makeStr(friend['full_name'])
UPD: Исправил код, в связи с изменениями в Google API. Заодно добавил синхронизацию.
Google Контакты — обзор сервиса
Есть бесплатный тариф
от Google Inc.
4 отзываЗадать вопрос
Официальный сайт
ИспользуюОтметьте, если используете. Это улучшит ваши персональные рекомендации.
Онлайн-сервис в виде адресной книги, интегрированный с почтой Gmail, календарём, диском и другими продуктами Google.
Продажи Управление контактами
Похожие на Google Контакты
МойОфис Контакты
CamCard
FullContact
DaData
Zoho ContactManager
RocketData
Генератор клиентов
Все аналоги Google Контакты
Google Контакты — это веб-сервис для сбора контактов с тесной интеграцией с Gmail, календарём, облачным хранилищем и другими веб-приложениями Google. Он может синхронизировать контакты на всех устройствах, а также хранить и систематизировать контактную информацию о людях, с которыми вы ежедневно общаетесь. Каждый контакт может содержать основную информацию, такую как имена, адреса электронной почты и номера телефонов, но может включать в себя и расширенные сведения, вроде физического адреса, места работы, отдел или должность.
В сервисе поддерживаются горячие клавиши и восстановление контактов. Плюс он умеет работать с Outlook и Mozilla Thunderbird и обладает поддержкой мобильных устройств, которые работают с протоколом Microsoft Exchange ActiveSync и / или стандартом SyncML.
Интересные факты
- Система Google Контакты не раз подвергалась критике. Один из таких случаев был за поддержку фотографий с низким разрешением и размером, ограниченным 96×96 пикселями. Проблему исправили 10 октября 2012 года, сделав предел в 720×720 пикселей.
- Максимально можно добавить 25000 контактов. Для сравнения, на обычных телефонах хранится не более сотни.
Поэтому в сервисе можно вести клиентскую базу.
- В Google Контактах пользователи могут добавлять к контактам теги, с помощью которых они могут группировать и искать нужных людей.
- Хотя и Google Контакты — нативное приложение для телефонов на Android, пользователи телефонов Apple могут установить и синхронизировать Google Контакты с основным приложение «Контакты» на iOS.
Сервисы, с которыми у Google Контакты есть интеграция
amoCRM1С:Предприятие 8
Цены на Google Контакты
Минимум 0 ₽ Пробный период 0 Бесплатный тариф 0 Способ оплаты: Единовременная лицензия 0 | Сервис бесплатен. |
Возможности Google Контакты
Платформы: Веб-приложение Приложение Android Приложение iOS Приложение Mac
24
Развёртывание: Облако
12
Доступные языки: Русский, English
14
Доступ по протоколу HTTPS
Данные между вами и сервисом передаются по шифрованному каналу (SSL/TLS), что исключает их перехват злоумышленниками.
88
Многофакторная авторизация Совместное использование нескольких факторов снижает риск утечки данных (помимо пароля, применяются карты, сканеры отпечатков пальцев и другое).
51
Резервное копирование в нескольких местах Резервное копирование данных в несколько независимых мест делает практически невозможным их потерю или повреждение.
67
Входит в Единый реестр российских программ
Сервис находится в реестре, который Минкомсвязь России создало в соответствии со статьёй 12. 1 ФЗ «Об информации, информационных технологиях и о защите информации», с целью расширения использования российских программ, подтверждения их происхождения и поддержки правообладателей.
52
Безопасность и конфиденциальность
Доступ по протоколу HTTPS Данные между вами и сервисом передаются по шифрованному каналу (SSL/TLS), что исключает их перехват злоумышленниками.
88
Многофакторная авторизация Совместное использование нескольких факторов снижает риск утечки данных (помимо пароля, применяются карты, сканеры отпечатков пальцев и другое).
51
Резервное копирование в нескольких местах Резервное копирование данных в несколько независимых мест делает практически невозможным их потерю или повреждение.
67
Законодательство
Входит в Единый реестр российских программ Сервис находится в реестре, который Минкомсвязь России создало в соответствии со статьёй 12.1 ФЗ «Об информации, информационных технологиях и о защите информации», с целью расширения использования российских программ, подтверждения их происхождения и поддержки правообладателей.
52
Управление контактами
Группировка
2
Интеграция с почтой
2
Интеграция с социальными сетями
1
Управление лидами
0
Общие контакты
2
Оцифровка визиток
0
История контактов
2
Управление задачами
1
Веб-формы
0
Экспорт
2
Отзывы
Кейсы
4,8
4 отзыва
Оставить отзыв
Google Контакты
—
Google contacts
Плюсы
Синхронизация между устройствами
Подтягивает данные контакта если он зарегистрирован в Google
Минусы
В новой версии не работает импорт/экспорт
Большинство необходимых сервисов для разных задач можно найти в Google.
Google Контакты один из таких сервисов.
Я часто говорю: «Не изобретай велосипед! Иди в Google»
Так как пользуюсь Android мне идеально подходят Google Контакты .
google контакты
Oleg Levitskiy
2
18
0
28960
Отзыв
1 декабря 2017
Google Контакты
—
Все контакты в одном месте
Плюсы
Все контакты в облаке и всегда под рукой
Можно объединять контакты, хранить любую информацию
Если украдут телефон или он вдруг неожиданно сломается — на новом аппарате все контакты подтянутся автоматически
Впервые воспользовался этим приложением на своем первом Android смартфоне от HTC, очень удивился, когда на только что купленный аппарат, на который я только и успел подключит Google аккаунт позвонил друг, и я сразу увидел его имя на дисплее)
С тех пор проблема сохранности контактов отпала. Телефоны меняются, контакты всегда на месте. Интеграция с корпоративным справочником тоже значительно упрощает жизнь -коллеги из других городов теперь тоже определяются автоматически!
google контакты
Maxim Demyanov
33
46
2
28815
Отзыв
28 ноября 2017
Google Контакты
—
Контакты под надежным крылом
Плюсы
Обширный список типов контактной информации;
Группировка контактов;
Отслеживание дубликатов;
Откат изменений;
Кроссплатформенность;
Импорт/Экспорт.
Для владельцев Android-устройств этот сервис просто незаменим. Настроив на смартфоне синхронизацию с Google Контакты вы можете не беспокоиться об утере телефона, так как авторизовавшись на любом другом устройстве вы моментом синхронизируете все свои контакты. Само собой отпадает проблема переноса контактов при покупке нового смартфона.
Так-же стоит отметить что авторизовавшись в Google вы всегда можете просматривать и управлять своими контактами в окне браузера, а так-же использовать их в почтовом сервисе Gmail.
google контакты
Роман Кусты
11
50
0
30500
Отзыв
2 апреля 2017
Google Контакты
—
Гугль контакты
Плюсы
Интеграция с различными девайсами
Удобно, что один раз настроил интеграцию, и можно спокойно терять и ломать телефоны не беспокоясь о самом главном-телефонных номерах людей
google контакты
Vasiliy Karpyuk
23
20
1
32500
Отзыв
4 сентября 2015
Возможна ли в искусстве автоматизация?
22 ноября 2017Видеообзоры Google Контакты
Обзор основных функций
Другие сервисы Google Inc.

AppSheet
(Нет отзывов)
No-code-платформа для создания и поддержания мобильных приложения.
Cloud Source Repositories
(Нет отзывов)
Сервис предназначен для хранения и редактирования кода. Он запущен на основе Google Cloud Platform, объединяющий все «облачные» сервисы компании.
Gmail
(65 отзывов)
Бесплатная электронная почта от Google. Предлагает доступ к ящикам через веб-интерфейс и протоколы POP3, SMTP и IMAP. Из неё можно получить доступ ко всем сервисам Google.
Google Allo
(Нет отзывов)
Мессенджер от разработчиков Google со стикерами и эмодзи.
Все сервисы от Google Inc.
Контакты Google получают долгожданное изменение в Интернете
Автор Четан Рао
Пользователи наконец-то могут добавлять или редактировать контакты прямо из своих приложений Workspace
Если вы используете Контакты Google в Интернете, вас может расстроить тот факт, что вы можете создавать новые контакты только на специальном сайте и нигде больше. Конечно, вы всегда можете взять свое любимое Android-устройство и ввести данные, но это может быть довольно неудобно, если, скажем, у вас есть рабочий контакт, а рядом только ваш личный телефон — а мы все хотим оставаться кошерными с нашим работа и личное общение. К счастью, Google наконец-то упростил пользователям настольных компьютеров и ноутбуков добавление контактов в такие приложения, как Gmail или Google Docs.
В своем блоге Workspace Updates Google сообщает, что для всех пользователей началось развертывание обновления, в котором появится кнопка быстрого доступа для контактов на правой панели приложений Workspace. Нажав на нее, вы увидите свой список контактов, что позволит вам мгновенно связаться с ними, и даст вам возможность добавить новый.
Источник: Google
Пользователи также должны иметь возможность редактировать контакт, выбрав его и нажав значок редактирования в правом верхнем углу.
Google предупреждает, что пользователи не смогут добавлять контакты в открытый раздел подробного просмотра отдельной ветки электронной почты.
Внедрение началось 17 февраля, но для некоторых пользователей новая кнопка может появиться через 15 дней. Это изменение в конечном итоге заметят все пользователи Google Workspace в дополнение к устаревшим клиентам G Suite и личным учетным записям.
Включение этой функции, несомненно, значительно упростит добавление или изменение существующего контакта. Учитывая опыт контактов, предоставляемый экосистемой Apple, конкурирующей с отраслью, можно с уверенностью сказать, что Google опоздал на вечеринку. Любопытно, что это произошло вскоре после того, как компания объявила о планах объединить задачи и напоминания в Google Tasks.
В последнее время Google Contact претерпел некоторые заметные обновления, особенно в версии для Android. На прошлой неделе стало известно, что поисковый гигант работает над новыми виджетами Material You для приложения «Контакты» на Android, что приведет его в соответствие с несколькими собственными приложениями Google. За последние несколько месяцев мы видели множество других обновлений приложения контактов для Android.
Подписывайтесь на нашу новостную рассылку
Похожие темы
- Новости
- Приложения
- контакты гугл
- Гугл
Об авторе
Четан Рао — автор новостей по выходным для Android Police. Он пишет о технологиях около десяти лет и питает слабость к новейшему оборудованию Android. В свободное время CR обычно смотрит случайные стримы о крикете и основные моменты НБА или наверстывает упущенное в телешоу. Он также любит время от времени играть в консольные игры час или два.
интеграций контактов Google | Подключайте свои приложения с помощью Zapier
Делайте больше с помощью интеграции с Google Contacts
Zapier позволяет вам связать Google Contacts с тысячами самых популярных приложений, чтобы вы могли автоматизировать свою работу и иметь больше времени для самого важного — код не требуется.
Подключение к более чем 5000 приложений
Подключение контактов Google к более чем 5000 приложений
Или выберите приложение для сопряжения с
Google Sheets
Google, Электронные таблицыFacebook Lead Ads
Ads & ConversionHubSpot
Marketing AutomationMailChimp
Электронная бюллетенаGmail
Email, GoogleWebhooks от Zapier
Developer Tools, ZapierAcuity acuity reduling
999999999999999999999999999999999999999999999999999999999999999999999999999999999999. CRM (управление взаимоотношениями с клиентами)Google Sheets
Google, электронные таблицыFacebook Lead Ads
Реклама и конверсияHubSpot
Автоматизация маркетингаMailChimp
Электронные бюллетениGmail
Электронная почта, GoogleWebhooks от Zapier
Инструменты разработчика, ZapierGoogle Sheets
Google, DipleshtsFacebook Ads
Ads & ConfurtionHubspot
Marketing Automation
Zapier
Попробуйте
Контакты Google, HubSpot
Google Contacts + Hubspot
ПодробнееКогда это произойдет
Шаг 1: Новый или обновленный контакт
, затем сделайте это
Шаг 2: Соединение или обновление
См.
Отправить новые контакты Google в HubSpot
Zapier
Отправить новые контакты Google в HubSpot
Попробуйте
003
Google Contacts + HubSpot
Добавить новые контакты HubSpot в Google Contacts
Zapier

Когда это произойдет
Шаг 1: Новый контакт
Затем сделайте это
Шаг 2: Создайте контакт
См. подробности Zap Попробуйте
Добавить новые контакты HubSpot в Google Contacts
Zapier
Добавить новые контакты Hubspot в Google Contacts
Создание контактов Google из новых строк Google Таблиц0039
Google Sheets, Google Contacts
Google Sheets + Google Contacts
Подробнее, когда это происходит
Шаг 1: Новая таблица с помощью электронной таблицы
. Затем сделайте это
.
Zap detailsTry it
Создание контактов Google из новых строк Google Sheets
Zapier
Создание контактов Google из новых строк Google Sheets
Try it
Google Sheets, Google Contacts
Google Sheets + Google Contacts
Update HubSpot contacts from new or updated Google Contacts
Zapier
Try it
Контакты Google, HubSpot
Контакты Google + HubSpot
ПодробнееКогда это произойдет
Шаг 1: Новый или обновленный контакт
, затем сделайте это
Шаг 2: Создать или обновлять контакт
См. ZAP DEFTACTREST IT
Обновление контактов HubSpot от новых или обновленных контактов Google
Zapier
Zapier
9000.sports. новые или обновленные Контакты Google
Попробуйте
Контакты Google, HubSpot
Контакты Google + HubSpot
Создание Google Contacts для новых встреч с остроконечной планированием
Zapier
Попробуйте
Актуальные графики
, когда этот контакт.Шаг 1: Новая встреча
Затем сделайте это
Шаг 2: Создайте контакт
См. подробности Zap Попробуйте
Создание Google Contacts для новых встреч с аварию. Контакты Google
Добавление обновленных контактов Google в электронные таблицы Google Sheets
Zapier
Попробуйте IT
Google Contacts, Google Sheets
Google Contacts + Google Sheets
Подробнее, когда это происходит
Шаг 1: Новый или обновленный контакт
- 3192.
Тогда
. Тогда DO
2. Тогда DO
2.
Шаг 2. Создайте строку электронной таблицы
См. сведения о Zap Попробуйте
Добавьте обновленные контакты Google в электронные таблицы Google Sheets
Zapier
Добавить обновленные контакты с Google в google sheets. Электронные таблицы
Попробуйте это
Google Contacts, Google Sheets
Google Contacts + Google Sheets
Add New Hubspot CRM -CRM. by Zapier
Zapier
Попробуйте
HubSpot, Google Контакты
HubSpot + Google Контакты
Подробнее, когда это произойдет
Шаг 1: Новый контакт
, затем сделайте это
Шаг 2: Создать контакт
См. ZAP Detailstry It
Добавить новые контакты HubSpot CRM к контактам Google
Zapier
Добавить новые контакты HubSpot CRM в Google Контакты
Попробовать
HubSpot, Google Контакты
HubSpot + Google Contacts0003
Add new Google Contacts contacts to Mailchimp
Zapier
Try it
Google Contacts, Mailchimp
Google Contacts + Mailchimp
More detailsWhen this происходит
Шаг 1: Новый или обновленный контакт
Затем сделайте это
Шаг 2: Добавление/обновление подписчика
См.
Ваш комментарий будет первым