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

05.05.15

Интеграция - WEB-интеграция

"DR Buganov Aleksandr  28.03.1989 http://vk.com/id12345678 - Каждый год 28 март" - смс такого вида приходят мне накануне дня рождения моих друзей, и я не забываю поздравить их на следующий день.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
ЭкспортДнейРожденияИзВконтактаВGoogleCalendar.epf
.epf 54,47Kb
37 1 850 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Я думаю, многие здесь, как и я, имеют аккаунт в популярной социальной сети Вконтакте. У него есть свои плюсы и минусы. Одним из плюсов Вконтакта - это возможность не забыть про день рождения друзей. Но оповещения об этом событии приходит только на почту, но почту иногда не удается проверять каждый день, от чего поздравлять приходится уже после знаменательной даты.  И чтобы не пропускать день рождения друзей я стал использовать Google Calendar. К нему можно привязать номер телефона и сообщения будут приходить на телефон по расписанию. Но руками вводить напоминания оказалось муторным делом. Я установил напоминания только на самых близких друзей. Но какже все остальные? 

Чтобы сделать напоминания для всех остальных, была написана эта обработка. Она работает на API указанных выше сервисов.

Принцип работы состоит в следующем: мы авторизовываемся в Google и получаем доступ к каледарю, затем авторизовываемся в Вконтакте и получаем список друзей с датами рождения (не у всех естественно эта дата заполнена, но мы сможем вручную указать ее в дальнейшем). Устанавливаем настройки и отмечаем друзей, напоминание для которых мы хотим установить. И создаем эти напоминания.

 

Внизу обработки на закладке Настройки можно задать настройки уведомления

Флажок "Использовать настройки оповещения по-умолчанию" позволяет использовать настройки календаря сохраненые по-умолчанию в самом календаре. При изменении этих настроек, они будут применены ко всем напоминаниям. А если мы в обработке задаем методы оповещения, то изменить их можно будет, но только заходя в каждое напоминание.

Поле Time zone - указывает часовой пояс, по которому будут приходить оповещения. (По-умолчанию часовой пояс установлен Московский). В список выбора я добавил не все часовые пояса, т.к. если чегото не хватает пишите в комментарии, добавлю.

В поле Повторяется указан только один вариант, остальные я не обрабатывал, они не нужны были мне.

Все, после того как мы авторизовались и указали нужные нам настройки. Переходим на вкладку Основное. 


Список календарей заполнился при авторизации в Google, а список друзей из Вконтакта, при авторизации в Вконтакте.

После того как мы отметили друзей (отметить можно только, тех у которых заполнена дата и месяц рождения), для которых мы хотим установить напоминания, нажимаем кнопку Создать напоминания в календаре. Как только напоминания будут созданы они отображатся в списке событий. При нажати еще раз этой кнопки, все напоминания создадутся повторно!

Название событий создаются в транслите.  Почемуто API Google не обрабатывает русские символы.

Внимание! Если у вас не подключен номер телефона к календарю и при установки метода sms оповещения - этот метод не будет действовать. Подключить номер телефона к Google календарю вы можете на этой странице

 

Обработка показана как пример для работы с Google календарем. В анонсе ссылка указана для примера неверная.

Вступайте в нашу телеграмм-группу Инфостарт

Экспорт Вконтакте Google Календарь

См. также

Сайты и интернет-магазины WEB-интеграция Системный администратор Программист Пользователь 1С:Предприятие 8 1C:Бухгалтерия 1С:Управление торговлей 11 Автомобили, автосервисы Россия Управленческий учет Платные (руб)

Интеграционный модуль обмена между конфигурацией Альфа Авто 5 и Альфа Авто 6 и порталом AUTOCRM / LOGICSTARS. Данный модуль универсален. Позволяет работать с несколькими обменами AUTOCRM / LOGICSTAR разных брендов в одной информационной базе в ручном и автоматическом режиме.

36000 руб.

03.08.2020    22203    32    24    

26

SALE! 15%

WEB-интеграция Программист Бизнес-аналитик 1С:Предприятие 8 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Оптовая торговля, дистрибуция, логистика ИТ-компания Платные (руб)

Модуль "Экспортер" — это расширение для 1С, предназначенное для автоматизации процессов выгрузки данных. Оно позволяет эффективно извлекать, преобразовывать и передавать данные из систем 1С в интеграционную платформу Spot2D. Подсистема упрощает настройку, снижает количество ручных операций и обеспечивает удобный контроль данных.

17280 14688 руб.

20.12.2024    4384    22    4    

23

WEB-интеграция Программист Руководитель проекта 1С:Предприятие 8 1C:Бухгалтерия 1С:Франчайзи, автоматизация бизнеса Платные (руб)

Расширение значительно упрощает написание API на 1С. Веб программисты получают простой и понятный доступ к 1С. Описание API создаётся автоматически и представляется в виде удобном как для человека, так и для программной обработки. Основные преимущества: 1. Документация API создаётся автоматически. Удобна для программной обработки. 2. Изменить API столь же просто как настроить отчёт. Можно опубликовать существующий вариант отчёта. 3. Отчёты в API поддерживают параметры (Период, ДатаНачала и др.) 4. При создании простых методов не требуется изменять конфигурацию. 5. Поддерживается работа с планами обмена.<br/> 6. Возможно настроить отправку из 1С данных корреспондирующей системе, для случаев когда 1С сама "знает" какие данные нужно отправить. 7. После записи в 1С Ле Мурр может возвращать соответствие полученных идентификаторов созданным в 1С объектам данных.

36000 руб.

27.09.2024    10152    7    5    

11

WEB-интеграция Программист 1С:Предприятие 8 1С:Бухгалтерия 3.0 Бытовые услуги, сервис Платные (руб)

Внешняя обработка разработана для автоматизации передачи данных между сервисом Vetmanager с 1С: Бухгалтерия 3.0. Решение позволяет загружать документы и справочники из Ветменеджер в 1С:Бухгалтерию, сокращая время на ручной ввод данных и минимизируя ошибки.

12000 руб.

02.02.2021    20959    60    52    

38
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. akR00b 25 05.05.15 15:25 Сейчас в теме
2. TerveRus 06.05.15 14:24 Сейчас в теме
Интересно... А ведь можно пойти дальше и создавать задачи в гугле с халявным уведомлением по смс... :)
PhoenixAOD; AfroditaS; ixijixi; +3 Ответить
3. ixijixi 2070 07.05.15 00:14 Сейчас в теме
4. pepe 64 08.05.15 15:15 Сейчас в теме
(2) Terve!R, Идея очень хорошая! Не всегда приходят СМС. Я использовал механизм СМС для проведения по партиям.
После окончания проведения создавалось событие, о том что проведение выполнено и сколько оно длилось. Но не всегда приходили сообщения в назначенное время или приходили позже. Но если на телефоне стоит календарь, то очень удобно. Только была проблема, где хранить пароль на вход в календарь.
5. bashinsky 155 01.06.15 22:05 Сейчас в теме
Важное уведомление об SMS-оповещениях Google Календаря
С 27 июня 2015 года будет прекращена рассылка SMS-оповещений Google Календаря. Эта функция была представлена до появления смартфонов. Теперь, когда они получили широкое распространение, для отправки оповещений на мобильные устройства используются более многофункциональные и надежные технологии, которые позволяют получать их даже без подключения к Интернету.

Чтобы получать оповещения на смартфон, либо настройте соответствующим образом установленное по умолчанию приложение "Календарь", либо установите приложение "Google Календарь" для устройств Android или iPhone. Подробную информацию о том, как задать настройки по умолчанию для оповещений, можно найти в Справочном центре.

Обратите внимание, что это изменение не затронет клиентов, использующих Google Drive for Work, Google Apps for Work (платная версия), Google Apps for Education и Google Apps for Government.

Команда Google Календаря


Так что СМСки будут приходить до 27 июня.
6. FarFar 47 30.05.16 15:15 Сейчас в теме
Насчет кириллицы: поразбирался сегодня, помог совет из http://www.forum.mista.ru/topic.php?id=708415

цитирую:

http://api.yandex.ru/direct/doc/concepts/JSON.xml
просто когда 1с генерит файл в кодировке utf-8, она в начало файла ВОМ символы записывает, из-за чего сервер считает, что json в неверном формате.
Можно так файл в кодировке utf-8 без BOM записать
ЗаписьТекста = Новый ЗаписьТекста(ИмяФайла, КодировкаТекста.ANSI); 
        ЗаписьТекста.Закрыть(); 
        ЗаписьТекста = Новый ЗаписьТекста(ИмяФайла,,, Истина, Символы.ПС);

поэтому в начале функции СоздатьНапоминанияДняРожденияНаСервере вместо
ФайлJSON = Новый ЗаписьТекста(ИмяВременногоФайла, КодировкаТекста.ANSI, Символы.ПС, Ложь);

написал

ФайлJSON = Новый ЗаписьТекста(ИмяВременногоФайла, КодировкаТекста.ANSI);//, Символы.ПС, Ложь
ФайлJSON.Закрыть();
ФайлJSON = Новый ЗаписьТекста(ИмяВременногоФайла,,, Истина, Символы.ПС);


и все заработало, прекрасно отправляются и русские, и английские символы в google
jmi; bashinsky; +2 Ответить
7. FarFar 47 30.05.16 15:23 Сейчас в теме
И, конечно, в строке Текст.Вставить("summary", Транслит(Строка.НаименованиеСобытия));
Убрать вызов функции Транслит, просто Текст.Вставить("summary", СокрЛП(Строка.НаименованиеСобытия));
Можно добавить еще Текст.Вставить("description", СокрЛП(Строка.НаименованиеСобытия)); - чтобы писалось что то также в тело события.
8. FarFar 47 31.05.16 13:43 Сейчас в теме
Раз уж зашел в эту тему: может кто поможет мне с подзадачкой? (прошу извинения хозяина ветки)

Есть задачка связать 1С УТ 11 и google календарь. Например, ставится задача кому-то в 1С - и она попадает ему в google календарь (возможно, с подтверждением запроса).

Получается создать мероприятие, получается добавить получателя в список attendees (Гости).

Но я хочу, чтобы у меня это мероприятие не оставалось, а сразу целиком перешло к получателю.

Здесь http://yapro.ru/web-master/programs/google-calendar-api-events-perevod.html нашел метод move, который "Перемещает событие в другой календарь, т.е. изменяет организатора событий"


Не могу понять, как этот move вызвать в коде 1С. Кто-нибудь решал такую задачу?
9. jmi 2 17.05.17 10:28 Сейчас в теме
(8)
	ЗапросHTTP = Новый HTTPЗапрос;
		ЗапросHTTP.Заголовки = Заголовки;
		ЗапросHTTP.УстановитьИмяФайлаТела(ИмяФайлаОтправки); 
		Если ЗначениеЗаполнено(Строка.GoogleEventID) Тогда //когда нужно изменить событие как в вашем случае movе
			ЗапросHTTP.АдресРесурса = "/calendar/v3/calendars/" + КалендарьGoogle.id + "/events/"+Строка.GoogleEventID+"?access_token=" + AccessTokenGApi;
			ОтветHTTP = Соединение.ВызватьHTTPМетод("PUT", ЗапросHTTP);
		Иначе	
			ЗапросHTTP.АдресРесурса = "/calendar/v3/calendars/" + КалендарьGoogle.id + "/events?access_token=" + AccessTokenGApi;
			ОтветHTTP = Соединение.ОтправитьДляОбработки(ЗапросHTTP);
		КонецЕсли;
Показать
Для отправки сообщения требуется регистрация/авторизация