Где же там фотка поместиться?! Там же маленький квадратикvitosmaxim80sad145 писал(а): ↑Вс май 10, 2020 9:02 pmЧтобы в календаре на дате стояла фотка именинникаfandaymon писал(а): ↑Пт май 08, 2020 12:09 amСтавить фотку именинника куда?vitosmaxim80sad145 писал(а): ↑Чт май 07, 2020 10:42 pmА нет возможности на дни рождения ставить фото именинника ?
[Модуль] Simple Calendar (app_calendar)
Модератор: immortal
-
- Сообщения: 1568
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 40 раз
- Поблагодарили: 578 раз
Re: [Модуль] Simple Calendar (app_calendar)
-
- Сообщения: 717
- Зарегистрирован: Ср май 03, 2017 7:41 pm
- Благодарил (а): 117 раз
- Поблагодарили: 113 раз
Re: [Модуль] Simple Calendar (app_calendar)
Подскажите, как можно отфильтровать отдельно праздники (без задач) ?
- xor
- Сообщения: 2045
- Зарегистрирован: Сб ноя 22, 2014 8:45 pm
- Благодарил (а): 289 раз
- Поблагодарили: 632 раза
Re: [Модуль] Simple Calendar (app_calendar)
эээ, а в чём проблема?
win10 connect https://connect.smartliving.ru/profile/303
-
- Сообщения: 717
- Зарегистрирован: Ср май 03, 2017 7:41 pm
- Благодарил (а): 117 раз
- Поблагодарили: 113 раз
Re: [Модуль] Simple Calendar (app_calendar)
В модуле в разделе "Помощь" есть скрипт "Говорящий календарь", но он проговаривает все задачи и потом уже события. Я имел ввиду как можно проговорить (или сохранить в отдельное свойство) только текущие праздники.
- webms
- Сообщения: 498
- Зарегистрирован: Чт дек 15, 2016 3:13 am
- Благодарил (а): 221 раз
- Поблагодарили: 88 раз
Re: [Модуль] Simple Calendar (app_calendar)
после
Код: Выделить всё
foreach($events as $ev)
Код: Выделить всё
if ($ev['CALENDAR_CATEGORY_ID'] == ИД_КАТЕГОРИИ) {
Код: Выделить всё
if ($i != 0) $say_phrase.= "У вас на сегодня запланированы задачи, ".$tasks;
Код: Выделить всё
}
- Рейтинг: 1.16%
- Alexander Znamensky
- Сообщения: 160
- Зарегистрирован: Ср дек 18, 2019 11:13 am
- Откуда: Москва
- Благодарил (а): 87 раз
- Поблагодарили: 25 раз
Re: [Модуль] Simple Calendar (app_calendar)
Эх..... недостаточно вводных.... Очень хочу обновлять G Календарь.... Но опыта и знаний не хватает....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); } }
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
-
- Сообщения: 1568
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 40 раз
- Поблагодарили: 578 раз
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
- Откуда: Москва
- Благодарил (а): 87 раз
- Поблагодарили: 25 раз
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... и дать ему права на календарь
Спасибо за инструкцию. Но что-то похоже я делаю не так....
Сервисный аккаунт у меня уже был создан:
СпойлерПоказать
СпойлерПоказать
СпойлерПоказать
Расшариваю гугл-календарь:
СпойлерПоказать
Делаю скрипт по Вашей инструкции:
СпойлерПоказать
СпойлерПоказать
Raspberry Pi4 B+, образ v4_44 -> Alpha, PHP 7.3, Xiaomi Gateway 2, Tuya, Blynk, ESP8266
-
- Сообщения: 1568
- Зарегистрирован: Сб янв 13, 2018 5:00 pm
- Благодарил (а): 40 раз
- Поблагодарили: 578 раз
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
- Откуда: Москва
- Благодарил (а): 87 раз
- Поблагодарили: 25 раз
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 МДМ.
Ошибка при запуске скрипта пропала, но события из календаря не подтягиваются.
Возможно что-то с сервисным аккаунтом?
СпойлерПоказать
$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":"Main_email_address@gmail.com","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":"Main_email_address@gmail.com","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