Я думаю, многие здесь, как и я, имеют аккаунт в популярной социальной сети Вконтакте. У него есть свои плюсы и минусы. Одним из плюсов Вконтакта — это возможность не забыть про день рождения друзей. Но оповещения об этом событии приходит только на почту, но почту иногда не удается проверять каждый день, от чего поздравлять приходится уже после знаменательной даты. И чтобы не пропускать день рождения друзей я стал использовать Google Calendar. К нему можно привязать номер телефона и сообщения будут приходить на телефон по расписанию. Но руками вводить напоминания оказалось муторным делом. Я установил напоминания только на самых близких друзей. Но какже все остальные?
Чтобы сделать напоминания для всех остальных, была написана эта обработка. Она работает на API указанных выше сервисов.
Принцип работы состоит в следующем: мы авторизовываемся в Google и получаем доступ к каледарю, затем авторизовываемся в Вконтакте и получаем список друзей с датами рождения (не у всех естественно эта дата заполнена, но мы сможем вручную указать ее в дальнейшем). Устанавливаем настройки и отмечаем друзей, напоминание для которых мы хотим установить. И создаем эти напоминания.
Внизу обработки на закладке Настройки можно задать настройки уведомления
Флажок «Использовать настройки оповещения по-умолчанию» позволяет использовать настройки календаря сохраненые по-умолчанию в самом календаре. При изменении этих настроек, они будут применены ко всем напоминаниям. А если мы в обработке задаем методы оповещения, то изменить их можно будет, но только заходя в каждое напоминание.
Поле Time zone — указывает часовой пояс, по которому будут приходить оповещения. (По-умолчанию часовой пояс установлен Московский). В список выбора я добавил не все часовые пояса, т.к. если чегото не хватает пишите в комментарии, добавлю.
В поле Повторяется указан только один вариант, остальные я не обрабатывал, они не нужны были мне.
Все, после того как мы авторизовались и указали нужные нам настройки. Переходим на вкладку Основное.
Список календарей заполнился при авторизации в Google, а список друзей из Вконтакта, при авторизации в Вконтакте.
После того как мы отметили друзей (отметить можно только, тех у которых заполнена дата и месяц рождения), для которых мы хотим установить напоминания, нажимаем кнопку Создать напоминания в календаре. Как только напоминания будут созданы они отображатся в списке событий. При нажати еще раз этой кнопки, все напоминания создадутся повторно!
Название событий создаются в транслите. Почемуто API Google не обрабатывает русские символы.
Внимание! Если у вас не подключен номер телефона к календарю и при установки метода sms оповещения — этот метод не будет действовать. Подключить номер телефона к Google календарю вы можете на этой странице
Обработка показана как пример для работы с Google календарем. В анонсе ссылка указана для примера неверная.
+ за идею
Интересно… А ведь можно пойти дальше и создавать задачи в гугле с халявным уведомлением по смс… 🙂
(2) Terve!R, идея!
(2) Terve!R, Идея очень хорошая! Не всегда приходят СМС. Я использовал механизм СМС для проведения по партиям.
После окончания проведения создавалось событие, о том что проведение выполнено и сколько оно длилось. Но не всегда приходили сообщения в назначенное время или приходили позже. Но если на телефоне стоит календарь, то очень удобно. Только была проблема, где хранить пароль на вход в календарь.
С 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 июня.
Насчет кириллицы: поразбирался сегодня, помог совет изhttp://www.forum.mista.ru/topic.php?id=708415
цитирую:
просто когда 1с генерит файл в кодировке utf-8, она в начало файла ВОМ символы записывает, из-за чего сервер считает, что json в неверном формате.
Можно так файл в кодировке utf-8 без BOM записать
поэтому в начале функции СоздатьНапоминанияДняРожденияНаСервере вместо
ФайлJSON = Новый ЗаписьТекста(ИмяВременногоФайла, КодировкаТекста.ANSI, Символы.ПС, Ложь);
написал
ФайлJSON = Новый ЗаписьТекста(ИмяВременногоФайла, КодировкаТекста.ANSI);//, Символы.ПС, Ложь
ФайлJSON.Закрыть();
ФайлJSON = Новый ЗаписьТекста(ИмяВременногоФайла,,, Истина, Символы.ПС);
и все заработало, прекрасно отправляются и русские, и английские символы в google
И, конечно, в строке Текст.Вставить(«summary», Транслит(Строка.НаименованиеСобытия));
Убрать вызов функции Транслит, просто Текст.Вставить(«summary», СокрЛП(Строка.НаименованиеСобытия));
Можно добавить еще Текст.Вставить(«description», СокрЛП(Строка.НаименованиеСобытия)); — чтобы писалось что то также в тело события.
Раз уж зашел в эту тему: может кто поможет мне с подзадачкой? (прошу извинения хозяина ветки)
Есть задачка связать 1С УТ 11 и google календарь. Например, ставится задача кому-то в 1С — и она попадает ему в google календарь (возможно, с подтверждением запроса).
Получается создать мероприятие, получается добавить получателя в список attendees (Гости).
Но я хочу, чтобы у меня это мероприятие не оставалось, а сразу целиком перешло к получателю.
Здесьhttp://yapro.ru/web-master/programs/google-calendar-api-events-perevod.html нашел метод move, который «Перемещает событие в другой календарь, т.е. изменяет организатора событий»
Не могу понять, как этот move вызвать в коде 1С. Кто-нибудь решал такую задачу?
(8)
Показать