[Модуль] Simple Calendar (app_calendar)

Разработка дополнительных модулей, подключение различных приложений.

Модератор: immortal

ZokkiMir
Сообщения: 16
Зарегистрирован: Пн май 14, 2018 11:45 am
Откуда: Калинковичи
Благодарил (а): 4 раза
Поблагодарили: 2 раза

Re: [Модуль] Simple Calendar (app_calendar)

Сообщение ZokkiMir » Вс янв 13, 2019 10:19 pm

Что со стандартным скриптом говорящий календарь? Почему он говорит и пишет в чат "Напоминаю что через 3 через 3 дня День рождения..." почему он повторяется через 3 через 3 дня? использую скрипт из раздела помощь говорящий календарь.
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Simple Calendar (app_calendar)

Сообщение fandaymon » Вс янв 13, 2019 11:15 pm

ZokkiMir писал(а):
Вс янв 13, 2019 10:19 pm
Что со стандартным скриптом говорящий календарь? Почему он говорит и пишет в чат "Напоминаю что через 3 через 3 дня День рождения..." почему он повторяется через 3 через 3 дня? использую скрипт из раздела помощь говорящий календарь.
Поскольку немножко поменялась надпись (через 1 день на завтра, черех 2 - на послезавтра) скрипт надо подкорретировать:

вместо

Код: Выделить всё

$tasks.= " через ".$ev['AGE']." ".$ev['DAYS']." ".$ev['TITLE'].". "; 
написать

Код: Выделить всё

$tasks.= " ".$ev['DAYS']." ".$ev['TITLE'].". ";
За это сообщение автора fandaymon поблагодарили (всего 3):
webms (Пн янв 14, 2019 8:38 am) • ZokkiMir (Вт янв 15, 2019 1:29 pm) • dengi.76 (Вт фев 26, 2019 8:03 pm)
Рейтинг: 3.49%
Аватара пользователя
pdfsen
Сообщения: 78
Зарегистрирован: Вс янв 13, 2019 8:32 am
Благодарил (а): 17 раз
Поблагодарили: 0

Re: [Модуль] Simple Calendar (app_calendar)

Сообщение pdfsen » Чт янв 17, 2019 10:59 pm

Подскажите, пожалуйста, как сделать автоматическую синхронизацию Гугл календаря с МДМ на постоянной основе ?
Я создаю ежедневно в Гугл календаре на мобилке много Задач, и чтоб они автоматически сразу переносились в МДМ.

Спс
Аватара пользователя
webms
Сообщения: 498
Зарегистрирован: Чт дек 15, 2016 3:13 am
Благодарил (а): 221 раз
Поблагодарили: 88 раз

Re: [Модуль] Simple Calendar (app_calendar)

Сообщение webms » Чт янв 17, 2019 11:53 pm

pdfsen писал(а):
Чт янв 17, 2019 10:59 pm
Подскажите, пожалуйста, как сделать автоматическую синхронизацию Гугл календаря с МДМ на постоянной основе ?
Я создаю ежедневно в Гугл календаре на мобилке много Задач, и чтоб они автоматически сразу переносились в МДМ.

Спс
С гуглом вроде только так можно, но это не автоматом
http://majordomo.smartliving.ru/forum/v ... f=5&t=2046
За это сообщение автора webms поблагодарил:
pdfsen (Пт янв 18, 2019 12:27 am)
Рейтинг: 1.16%
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Simple Calendar (app_calendar)

Сообщение fandaymon » Пт янв 18, 2019 12:57 am

pdfsen писал(а):
Чт янв 17, 2019 10:59 pm
Подскажите, пожалуйста, как сделать автоматическую синхронизацию Гугл календаря с МДМ на постоянной основе ?
Я создаю ежедневно в Гугл календаре на мобилке много Задач, и чтоб они автоматически сразу переносились в МДМ.

Спс
Можно сделать используя сервисный экаунт. Я где-то описывал как у меня сделано считывание мероприятий на сегодня из гугл-календаря, но что-то не могу найти...

Делается сервисный экаунт
Календарь с задачами расшаривается для этого экаунта
Создаётся json для авторизации от сервисного акаунта
Помещается куда-нибудь на сервер
Скачивается библиотека от гугла https://github.com/googleapis/google-api-php-client
Помещается куда-нибудь в доступное для веб-сервера место
И раз в день (или чаще) считываются задачи из гугл-календаря и записываются в МДМ

Для облегчения задачи можно воспользоватся модулем Ивана, так как он в процессе инсталляции как раз ставит библиотеку гугла.

Сам код испорта примерно такой
СпойлерПоказать

Код: Выделить всё

require_once './Google/vendor/autoload.php'; //тут надо поставить правильный путь до файла autoload.php из библиотеки

putenv('GOOGLE_APPLICATION_CREDENTIALS=/home/pi/Desktop/sarah-home-calendar.json'); //здесь полный путь и название джейсона
$client = new Google_Client();

$client->useApplicationDefaultCredentials();
$client->setApplicationName(‘TestCalendarAPI’);
$client->setScopes('https://www.googleapis.com/auth/calendar');
$service = new Google_Service_Calendar($client);

// Берём 10 задач за сегодня
$calendarId = 'email@gmail.com'; // id основного календаря совпадает с имейлом
$optParams = array(
  'maxResults' => 10,
  'orderBy' => 'startTime',
  'singleEvents' => TRUE,
  'timeMin' => date('Y-m-d',strtotime('today')) .'T23:59:59+02:00',
  'timeMax' => date('Y-m-d',strtotime('+1 day')) .'T00:00:01+02:00',
);


$results = $service->events->listEvents($calendarId, $optParams);

if (count($results->getItems()) > 0) {
  foreach ($results->getItems() as $event) {
  $rec=array();
  $rec['TITLE']=$event->getSummary();
  $rec['IS_TASK']=1;
  $rec['ADDED']=date('Y-m-d H:i:s');
  $rec['ID']=SQLInsert('calendar_events', $rec); 
  }
} 
За это сообщение автора fandaymon поблагодарили (всего 3):
pdfsen (Пт янв 18, 2019 2:23 pm) • xor (Пт мар 15, 2019 6:17 pm) • Kvantos (Пн мар 18, 2019 11:55 am)
Рейтинг: 3.49%
Аватара пользователя
Kvantos
Сообщения: 295
Зарегистрирован: Вт окт 31, 2017 1:05 pm
Благодарил (а): 26 раз
Поблагодарили: 49 раз

Re: [Модуль] Simple Calendar (app_calendar)

Сообщение Kvantos » Пт мар 15, 2019 5:05 pm

fandaymon писал(а):
Пт янв 18, 2019 12:57 am
Делается сервисный экаунт
Календарь с задачами расшаривается для этого экаунта
Создаётся json для авторизации от сервисного акаунта
Помещается куда-нибудь на сервер
Скачивается библиотека от гугла https://github.com/googleapis/google-api-php-client
Помещается куда-нибудь в доступное для веб-сервера место
И раз в день (или чаще) считываются задачи из гугл-календаря и записываются в МДМ

Для облегчения задачи можно воспользоватся модулем Ивана, так как он в процессе инсталляции как раз ставит библиотеку гугла.

Сам код испорта примерно такой
СпойлерПоказать

Код: Выделить всё

require_once './Google/vendor/autoload.php'; //тут надо поставить правильный путь до файла autoload.php из библиотеки

putenv('GOOGLE_APPLICATION_CREDENTIALS=/home/pi/Desktop/sarah-home-calendar.json'); //здесь полный путь и название джейсона
$client = new Google_Client();

$client->useApplicationDefaultCredentials();
$client->setApplicationName(‘TestCalendarAPI’);
$client->setScopes('https://www.googleapis.com/auth/calendar');
$service = new Google_Service_Calendar($client);

// Берём 10 задач за сегодня
$calendarId = 'email@gmail.com'; // id основного календаря совпадает с имейлом
$optParams = array(
  'maxResults' => 10,
  'orderBy' => 'startTime',
  'singleEvents' => TRUE,
  'timeMin' => date('Y-m-d',strtotime('today')) .'T23:59:59+02:00',
  'timeMax' => date('Y-m-d',strtotime('+1 day')) .'T00:00:01+02:00',
);


$results = $service->events->listEvents($calendarId, $optParams);

if (count($results->getItems()) > 0) {
  foreach ($results->getItems() as $event) {
  $rec=array();
  $rec['TITLE']=$event->getSummary();
  $rec['IS_TASK']=1;
  $rec['ADDED']=date('Y-m-d H:i:s');
  $rec['ID']=SQLInsert('calendar_events', $rec); 
  }
} 
Подскажите плиз, а как быть с "Задачи" и "Напоминания"? у них нет настроек доступа, чтобы расшарить... (
MDM живет на 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Simple Calendar (app_calendar)

Сообщение fandaymon » Пт мар 15, 2019 5:14 pm

Kvantos писал(а):
Пт мар 15, 2019 5:05 pm

Подскажите плиз, а как быть с "Задачи" и "Напоминания"? у них нет настроек доступа, чтобы расшарить... (
Напоминания не расшариваются, но можно же создавать ивенты в календаре с напоминанием

А задачи это что?
Аватара пользователя
Kvantos
Сообщения: 295
Зарегистрирован: Вт окт 31, 2017 1:05 pm
Благодарил (а): 26 раз
Поблагодарили: 49 раз

Re: [Модуль] Simple Calendar (app_calendar)

Сообщение Kvantos » Сб мар 16, 2019 12:04 pm

fandaymon писал(а):
Пт мар 15, 2019 5:14 pm
Kvantos писал(а):
Пт мар 15, 2019 5:05 pm

Подскажите плиз, а как быть с "Задачи" и "Напоминания"? у них нет настроек доступа, чтобы расшарить... (
Напоминания не расшариваются, но можно же создавать ивенты в календаре с напоминанием

А задачи это что?
Я создаю напоминания голосом через ассистента, что Вы имеете в виду под ивентами? события (например отсылка смс) при наступлении напоминания? Можно плиз подробнее рассказать, как автоматизировать импорт напоминаний в календарь...
по поводу задач, см. скрин...
Вложения
Snap 2019-03-16 at 11.03.48.png
Snap 2019-03-16 at 11.03.48.png (55.89 КБ) 4399 просмотров
MDM живет на 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux
fandaymon
Сообщения: 1553
Зарегистрирован: Сб янв 13, 2018 5:00 pm
Благодарил (а): 39 раз
Поблагодарили: 574 раза

Re: [Модуль] Simple Calendar (app_calendar)

Сообщение fandaymon » Сб мар 16, 2019 5:40 pm

Kvantos писал(а):
Сб мар 16, 2019 12:04 pm
fandaymon писал(а):
Пт мар 15, 2019 5:14 pm
Kvantos писал(а):
Пт мар 15, 2019 5:05 pm

Подскажите плиз, а как быть с "Задачи" и "Напоминания"? у них нет настроек доступа, чтобы расшарить... (
Напоминания не расшариваются, но можно же создавать ивенты в календаре с напоминанием

А задачи это что?
Я создаю напоминания голосом через ассистента, что Вы имеете в виду под ивентами? события (например отсылка смс) при наступлении напоминания? Можно плиз подробнее рассказать, как автоматизировать импорт напоминаний в календарь...
по поводу задач, см. скрин...
Ивенты (события) это записи в календаре. У каждого события можно включить разнообразные напоминания - смс, почта, звуковой сигнал...
У нас получаются разные схемы использования - я-то заношу ивенты голосом через МДМ, ну и соответственно при добавлении выставляю нужные напоминания (возможно у ассистента тоже есть нужные команды). Поэтому напоминаниями отдельно от ивентов я не пользуюсь.

Про задачи... Похоже это данные из google gtasks, с ними из сервисного акаунта работать у меня не получалось. В принципе можно использовать Google Keep, у него есть аналогичный функционал - список что надо сделать и галочки чтобы отмечать сделанное. Импорт из Google Keep в МДМ можно сделать при помощи неофициального пакета под питон - https://github.com/kiwiz/gkeepapi. Я через него делаю импорт-экспорт Списка покупок, который по сути и есть список задач

viewtopic.php?f=5&t=695&start=190#p96413
Аватара пользователя
Kvantos
Сообщения: 295
Зарегистрирован: Вт окт 31, 2017 1:05 pm
Благодарил (а): 26 раз
Поблагодарили: 49 раз

Re: [Модуль] Simple Calendar (app_calendar)

Сообщение Kvantos » Вс мар 17, 2019 1:38 pm

Google Keep как раз в задачи и пишет!
А вот как быть с импортом событий из календаря, которые записаны ассистентом ума не приложу :(
Может что посоветуете? А то уж очень удобно было бы заносить из ассистента (например в пути) , дом утром бы проговаривал список дел....
MDM живет на 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux
Ответить