Где же там фотка поместиться?! Там же маленький квадратикvitosmaxim80sad145 писал(а): Вс май 10, 2020 9:02 pmЧтобы в календаре на дате стояла фотка именинникаfandaymon писал(а): Пт май 08, 2020 12:09 amСтавить фотку именинника куда?vitosmaxim80sad145 писал(а): Чт май 07, 2020 10:42 pm А нет возможности на дни рождения ставить фото именинника ?
[Модуль] Simple Calendar (app_calendar)
Модератор: immortal
Re: [Модуль] Simple Calendar (app_calendar)
Re: [Модуль] Simple Calendar (app_calendar)
Подскажите, как можно отфильтровать отдельно праздники (без задач) ?
Re: [Модуль] Simple Calendar (app_calendar)
эээ, а в чём проблема?Jilber писал(а): Чт май 28, 2020 1:11 pm Подскажите, как можно отфильтровать отдельно праздники (без задач) ?
win10 connect https://connect.smartliving.ru/profile/303
Re: [Модуль] Simple Calendar (app_calendar)
В модуле в разделе "Помощь" есть скрипт "Говорящий календарь", но он проговаривает все задачи и потом уже события. Я имел ввиду как можно проговорить (или сохранить в отдельное свойство) только текущие праздники.
Re: [Модуль] Simple Calendar (app_calendar)
послеJilber писал(а): Сб май 30, 2020 5:15 pm В модуле в разделе "Помощь" есть скрипт "Говорящий календарь", но он проговаривает все задачи и потом уже события. Я имел ввиду как можно проговорить (или сохранить в отдельное свойство) только текущие праздники.
Код: Выделить всё
foreach($events as $ev)Код: Выделить всё
if ($ev['CALENDAR_CATEGORY_ID'] == ИД_КАТЕГОРИИ) { Код: Выделить всё
if ($i != 0) $say_phrase.= "У вас на сегодня запланированы задачи, ".$tasks;Код: Выделить всё
}- Alexander Znamensky
- Сообщения: 160
- Зарегистрирован: Ср дек 18, 2019 11:13 am
- Откуда: Москва
Re: [Модуль] Simple Calendar (app_calendar)
Эх..... недостаточно вводных.... Очень хочу обновлять G Календарь.... Но опыта и знаний не хватает....fandaymon писал(а): Пт янв 18, 2019 12:57 amМожно сделать используя сервисный экаунт. Я где-то описывал как у меня сделано считывание мероприятий на сегодня из гугл-календаря, но что-то не могу найти...pdfsen писал(а): Чт янв 17, 2019 10:59 pm Подскажите, пожалуйста, как сделать автоматическую синхронизацию Гугл календаря с МДМ на постоянной основе ?
Я создаю ежедневно в Гугл календаре на мобилке много Задач, и чтоб они автоматически сразу переносились в МДМ.
Спс
Делается сервисный экаунт
Календарь с задачами расшаривается для этого экаунта
Создаётся json для авторизации от сервисного акаунта
Помещается куда-нибудь на сервер
Скачивается библиотека от гугла https://github.com/googleapis/google-api-php-client
Помещается куда-нибудь в доступное для веб-сервера место
И раз в день (или чаще) считываются задачи из гугл-календаря и записываются в МДМ
Для облегчения задачи можно воспользоватся модулем Ивана, так как он в процессе инсталляции как раз ставит библиотеку гугла.
Сам код испорта примерно такой
SPOILERSPOILER_SHOWКод: Выделить всё
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 protected]'; // 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, я помню, что МЖДМ для Вас хобби, но, если у вас будет время/возможность, может быть сможете поподробнее объяснить, как создать сервисные аккаунт, как расшарить для него свой календарь через json и куда json нужно запихнуть ))))
Заранее спасибо!
P.S. Обязуюсь сделать потом инструкцию для всех жаждущих )))
Последний раз редактировалось Alexander Znamensky Вс авг 30, 2020 1:54 pm, всего редактировалось 2 раза.
Raspberry Pi4 B+, образ v4_44 -> Alpha, PHP 7.3, Xiaomi Gateway 2, Tuya, Blynk, ESP8266
Re: [Модуль] Simple Calendar (app_calendar)
По ссылке надо нажать кнопку новый проектAlexander Znamensky писал(а): Пт авг 14, 2020 10:25 pm
Эх..... недостаточно вводных.... Очень хочу обновлять G Календарь.... Но опыта и знаний не хватает....
Fondamoin, я помню, что МЖДМ для Вас хобби, но, если у вас будет время/возможность, может быть сможете поподробнее объяснить, как создать сервисные аккаунт, как расшарить для него свой календарь через json и куда json нужно запихнуть ))))
Заранее спасибо!
P.S. Обязуюсь сделать потом инструкцию для всех жаждущих )))
https://console.cloud.google.com/projec ... ew=project
Для этого проекта надо будет сделать ключ - create key. Ключ в виде jsona сохранить в какой-нибудь /home/pi/ Это позволит авторизоваться в гугле используя файл, вместо временных токенов.
Сервисный акаунт будет иметь свой почтовый ящик, что-нибудь типа бла-бла@verdant-bulkvarkблабла... В настройках своего календаря (три точки - Параметры календаря) надо в Настройках и общем доступе Добавить пользователя бла-бла@verdant... и дать ему права на календарь
- Alexander Znamensky
- Сообщения: 160
- Зарегистрирован: Ср дек 18, 2019 11:13 am
- Откуда: Москва
Re: [Модуль] Simple Calendar (app_calendar)
Добрый вечер, уважаемый Fandaymon.fandaymon писал(а): Пт авг 14, 2020 11:11 pmПо ссылке надо нажать кнопку новый проектAlexander Znamensky писал(а): Пт авг 14, 2020 10:25 pm
Эх..... недостаточно вводных.... Очень хочу обновлять G Календарь.... Но опыта и знаний не хватает....
Fondamoin, я помню, что МЖДМ для Вас хобби, но, если у вас будет время/возможность, может быть сможете поподробнее объяснить, как создать сервисные аккаунт, как расшарить для него свой календарь через json и куда json нужно запихнуть ))))
Заранее спасибо!
P.S. Обязуюсь сделать потом инструкцию для всех жаждущих )))
https://console.cloud.google.com/projec ... ew=project
Для этого проекта надо будет сделать ключ - create key. Ключ в виде jsona сохранить в какой-нибудь /home/pi/ Это позволит авторизоваться в гугле используя файл, вместо временных токенов.
Сервисный акаунт будет иметь свой почтовый ящик, что-нибудь типа бла-бла@verdant-bulkvarkблабла... В настройках своего календаря (три точки - Параметры календаря) надо в Настройках и общем доступе Добавить пользователя бла-бла@verdant... и дать ему права на календарь
Спасибо за инструкцию. Но что-то похоже я делаю не так....
Сервисный аккаунт у меня уже был создан:
SPOILERSPOILER_SHOW
SPOILERSPOILER_SHOW
SPOILERSPOILER_SHOW
Расшариваю гугл-календарь:
SPOILERSPOILER_SHOW
Делаю скрипт по Вашей инструкции:
SPOILERSPOILER_SHOW
SPOILERSPOILER_SHOW
Raspberry Pi4 B+, образ v4_44 -> Alpha, PHP 7.3, Xiaomi Gateway 2, Tuya, Blynk, ESP8266
Re: [Модуль] Simple Calendar (app_calendar)
В первой строчке, где requre_once должен быть вбит правильный путь на autoload.php Возможно путь не правильный
Ещё надо убедится, чтобы json доступен для пользователя под которым МДМ работает
Ну и если библиотека старая, то можно скачать в какую-нибудь свою папку отсюда https://github.com/googleapis/google-api-php-client
- Alexander Znamensky
- Сообщения: 160
- Зарегистрирован: Ср дек 18, 2019 11:13 am
- Откуда: Москва
Re: [Модуль] Simple Calendar (app_calendar)
Добрый вечер.fandaymon писал(а): Вс авг 16, 2020 11:55 pmВ первой строчке, где requre_once должен быть вбит правильный путь на autoload.php Возможно путь не правильный
Ещё надо убедится, чтобы json доступен для пользователя под которым МДМ работает
Ну и если библиотека старая, то можно скачать в какую-нибудь свою папку отсюда https://github.com/googleapis/google-api-php-client
Скачал новую библиотеку по Вашему совету, исправил ошибку с кавычками $client->setApplicationName(‘TestCalendarAPI’);
Проверил, что в requre_once путь к autoload.php правильный, json доступен для пользователя pi МДМ.
Ошибка при запуске скрипта пропала, но события из календаря не подтягиваются.
Возможно что-то с сервисным аккаунтом?
SPOILERSPOILER_SHOW
$service:
{"acl":{},"calendarList":{},"calendars":{},"channels":{},"colors":{},"events":{},"freebusy":{},"settings":{},"batchPath":"batch\/calendar\/v3","rootUrl":"https:\/\/www.googleapis.com\/","version":"v3","servicePath":"calendar\/v3\/","availableScopes":null,"resource":null,"serviceName":"calendar"}
$optParams:
{"maxResults":10,"orderBy":"startTime","singleEvents":true,"timeMin":"2020-08-17T23:59:59+03:00","timeMax":"2020-08-18T00:00:01+03:00"}
$results:
{"accessRole":"reader","description":null,"etag":"\"p324a7clon2hem0g\"","kind":"calendar#events","nextPageToken":null,"nextSyncToken":null,"summary":"[email protected]","timeZone":"Europe\/Moscow","updated":"2020-08-17T14:24:25.285Z","defaultReminders":[],"items":[]}
{"acl":{},"calendarList":{},"calendars":{},"channels":{},"colors":{},"events":{},"freebusy":{},"settings":{},"batchPath":"batch\/calendar\/v3","rootUrl":"https:\/\/www.googleapis.com\/","version":"v3","servicePath":"calendar\/v3\/","availableScopes":null,"resource":null,"serviceName":"calendar"}
$optParams:
{"maxResults":10,"orderBy":"startTime","singleEvents":true,"timeMin":"2020-08-17T23:59:59+03:00","timeMax":"2020-08-18T00:00:01+03:00"}
$results:
{"accessRole":"reader","description":null,"etag":"\"p324a7clon2hem0g\"","kind":"calendar#events","nextPageToken":null,"nextSyncToken":null,"summary":"[email protected]","timeZone":"Europe\/Moscow","updated":"2020-08-17T14:24:25.285Z","defaultReminders":[],"items":[]}
Raspberry Pi4 B+, образ v4_44 -> Alpha, PHP 7.3, Xiaomi Gateway 2, Tuya, Blynk, ESP8266