Обновить
Комментарии 26
Обратите только внимание, что скрипт рассчитан на украинские номера.
Насколько я понял, синхронизация не поддерживается, т.е. если второй раз запустить, то будет две копии контактов.
Да, но можно воспользоваться функцией в гугл «Найти и объединить совпадающие контакты», которая уберет копии.
Токен, логин и пароль лучше было бы вынести в самое начало
Кстати, официальный клиент VK умеет синхронизацию контактов. Может добавить всех друзей, может только тех, кто есть в телефонной книге. Прописывает аккаунт в настройках синхронизации телефона. Также синхронизирует фотки.
Кстати, а он распознает номера с дефисами и равнозначность 8 и +7 в начале? У меня стоит неофициальный и он этим страдает. Ну и к тому же, синхронизируя через приложение контакты попадут в телефон, но не в google contacts
Вот, к сожалению, на этот вопрос ответить не могу. Я сам не синхронизирую, так как не хочу в телефонной книге иметь весь «фарш» из ВКонтакта, но лично видел на другом телефоне синхронизированные через это приложение контакты. По крайней мере к уже существующим в гугл-аккаунте контактам приложение добавило фотки из сети.
С фаршем там всё в порядке. Сам сначала боялся. Но приложение загрузило всех друзей VK в отдельную группу. Её можно держать не отображаемой и включать отображение при необходимости. Ну и подгрузило фотки и всяческие е-мейлы для существующих контактов, да.
Порадовала функция в общем-то.
в неофициальном можно было только конкретный список друзей подгружать + фотки в разы лучшего качества. но сейчас не работает)
А отдельную группу создал на телефоне или в гугл-аккаунте?
В телефоне, как люди и пишут. В принципе, я не заморачивался синхронизацией этих контактов еще и с гуглом, может и можно как-то штатными средствами сделать.
Официальный клиент я так и не понял как синхронизирует «существующие» контакты. А если выбрать «все» — то в телефон загружаются все контакты из «вконтакте», что неудобно.
Плюс к тому фотографии загружаются паршивые(разрешение низкое).

раньше пользовался неофициальным клиентом, там есть воможность синхронизировать конкретный список друзей. и фотографии в хорошем разрешении. но, не знаю как сейчас, недавно удалили его из маркета и вся синхронизация у меня на ICS к ошибкам привела.

Пока нашел для себя выход — официальный клиент и в телефонной книге выбрал отображение только контактов с гугла.
Так можно же поставить официальное приложение, и при помощи него синхронизировать контакты, тем более если имеется Android-фон.
Если нужно в Google Контакты, то делаем экспорт в файл и восстанавливаем из него.

Не знаю правда как там с номерами телефона, но вроде у меня всё нормально(а в приложении от amberfog`а, даже галочка есть «только с номерами телефона», вроде).
Официальное приложение позволяет работать с контактами вконтата, а в google они не зальются — если зайти в google contacts через браузер — нет их там.
Ну я и написал про экспорт\импорт же. Если через телефон не импортит, то можно напрямую через браузер, там вроде тоже .vcf поддерживается.
Попробуйте memiana.com
Он может собрать контакты с разных сервисов и синхронизировать с любыми устройствами.
Хороший сервис, однако делиться своими контактами не совсем понятно с кем большого желания нет.
Я, как владелец WP7, был рад этому скрипту.
У нас пока хорошей синхронизатолки под контакт нету, а свой как-то лень было писать. Спасибо!
Вылетает:

Traceback (most recent call last):
File "vk2google.py", line 131, in friends = vk.friends.get(fields = "first_name, last_name, bdate, contacts, photo_big", order = 'name')
File "/usr/local/lib/python2.7/dist-packages/vkontakte/api.py", line 92, in __call__ return self._get(self.method_prefix + method, **params)
File "/usr/local/lib/python2.7/dist-packages/vkontakte/api.py", line 73, in _get
raise VKError(data["error"]["error_code"], data["error"]["error_msg"], data["error"]["request_params"])
vkontakte.api.VKError: Error(code = '5', description = 'User authorization failed: user revoke access for this token.', params = '[{u'value': u'1', u'key': u'oauth'}, {u'value': u'friends.get', u'key': u'method'}, {u'value': u'access_token=XXX', u'key': u'access_token'}, {u'value': u'first_name, last_name, bdate, contacts, photo_big', u'key': u'fields'}, {u'value': u'name', u'key': u'order'}, {u'value': u'1332411220', u'key': u'timestamp'}]')
User authorization failed: user revoke access for this token. — Вы запретили доступ по введеному токену. Сгенерируйте новый по ссылке указанной в коде.
Чтобы избежать ошибки «Missing attribute: 'href'» нужно:
вместо строки 137:
contact.group_membership_info.append(gdata.contacts.data.GroupMembershipInfo(href=vkGroup))

вставить 3 строчки:
groupinfo = gdata.contacts.data.GroupMembershipInfo(href='', deleted=False)
groupinfo.href = vkGroup
contact.group_membership_info.append(groupinfo)
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.