Экспорт Дней рождения из вКонтакте в Google Calendar

Поделитья с друзьями в социальных сетях:

Сегодня я хочу поделиться одним, весьма полезным, на мой взгляд, скриптом. Он осуществляет экспорт Дней рождения из вКонтакте в Google Calendar.

Я думаю, многие здесь, как и я, имеют аккаунт в популярной социальной сети вКонтакте. Пользуетесь вы ей или нет, любите или нет, дело сугубо ваше. Даже если вас не особо интересует то, как размещать рекламу в группах ВКонтакте, мне кажется, все согласятся с тем, что чем-то вКонтакте всё-же полезен. Например, я теперь знаю, когда у моих знакомых День рождения (люблю я делать приятное людям, поздравляя их с этим праздником, однако у меня совсем плохая память на даты). Не смотря на удобство размещения дней рождения в одном месте, вКонтакте явно не собирается упускать потенциальных пользователей этой функции не предусмотрено никаких уведомлений о предстоящих событиях, то есть, чтобы наблюдать за событиями, нужно «быть вКонтакте». Это ограничение кажется весьма досадным, но для нас, программистов, повелителей информации, подобные ограничения представляют собой лишь задачу, которую интересно решить.

Вначале стоит определиться с тем, чего бы хотелось получить в результате. Для меня это было уведомление о предстоящих событиях на почту, а также, возможно, просмотр списка событий, который всегда «под рукой». Поскольку я являюсь активным пользователем сервисов гугла, то в качестве альтернативы календарю вКонтакта был выбран именно Google Calendar.

Плюсы этого решения:

  • возможность добавления множества уведомлений (почта, смс)
  • интеграция с другими веб-сервисами гугла (gmail, igoogle)
  • возможность импорта календаря из файла

Собственно, последний пункт и сделал возможным перенос дат из вКонтакта в Google Calendar.

Сразу оговорюсь, изначально скрипт я делал для себя и под себя. Поэтому не стоит упрекать меня в (возможном) отсутствии кроссбраузерности или ещё в чём-то. Скрипт по сути является одноразовым, поэтому, как мне кажется, те, кто действительно нуждается, могут даже поставить «яужой» браузер, greasemonkey, выполнить скрипт, удалить и забыть.

Системные рекомендации

(на этой конфигурации работоспособность скрипта была протестирована):

  • Firefox 3.5.5
  • Greasemonkey 0.8.2

Инструкция по эксплуатации:

  • Устанавливаем скрипт отсюда
  • Заходим на сайт http://vkontakte.ru, логинимся
  • Кликаем правой кнопкой в иконку гризманки, выбираем пункт
    «Команды скрипта», далее пункт «Get Birthdays!»
  • Должна появиться форма со списком друзей
  • Выбираем нужных (или всех) друзей и нажимаем «Экспорт»
  • Ждём, долго, я понимаю, но во вКонтакте какое-то ограничение на
    скорость открытия однотипных страниц, я один раз попался во время
    отладки скрипта. Поэтому (1.5 сек + скорость загрузки + скорость
    обработки) на одного друга.
  • После окончания обработки всех выбранных друзей вам будет
    предложено сохранить файл с нечитаемым именем. Это список событий в
    формате iCal
  • Заходите в Google Calendar.
  • Выбираете пункт «Настройки» под списком календарей
  • Выбираете пункт «Импорт календаря», можно предварительно создать новый календарь специально для дней рождения.
  • Наслаждаетесь новыми событиями в вашем календаре

Замечания

Повторюсь, скрипт писался под себя. Изначально там не было даже того примитивного интерфейса, который есть сейчас.

Промежуточный файл в формате iCal. По крайней мере, гугл его понимает. Формат этот был мной получен путём изучения исходников файла календаря, экспортированного из гугла, и удалением оттуда некоторых «ненужных полей». Расширение файла должно быть .ics, но для импорта это не обязательно.

В теле скрипта можно найти библиотеку jQuery. Да, я её засунул туда полностью.

Скрипт может тормозить браузер на слабых машинах.

Рекомендую удалить или отключить скрипт после использования, поскольку скрипт относительно тяжёлый и загружается для всего домена
vkontakte.ru.

Собственно, всё. Если есть какие-то вопросы или пожелания, прошу.


Поделитья с друзьями в социальных сетях:

Оцените эту статью
( Пока оценок нет )
Kayrosblog.ru
Добавить комментарий

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