Страница 33 из 38
Re: [Модуль] Simple Calendar (app_calendar)
Добавлено: Вс май 10, 2020 10:10 pm
fandaymon
vitosmaxim80sad145 писал(а): Вс май 10, 2020 9:02 pm
fandaymon писал(а): Пт май 08, 2020 12:09 am
vitosmaxim80sad145 писал(а): Чт май 07, 2020 10:42 pm
А нет возможности на дни рождения ставить фото именинника ?
Ставить фотку именинника куда?
Чтобы в календаре на дате стояла фотка именинника
Где же там фотка поместиться?! Там же маленький квадратик
Re: [Модуль] Simple Calendar (app_calendar)
Добавлено: Чт май 28, 2020 1:11 pm
Jilber
Подскажите, как можно отфильтровать отдельно праздники (без задач) ?
Re: [Модуль] Simple Calendar (app_calendar)
Добавлено: Чт май 28, 2020 11:21 pm
xor
Jilber писал(а): Чт май 28, 2020 1:11 pm
Подскажите, как можно отфильтровать отдельно праздники (без задач) ?
эээ, а в чём проблема?

- 2020-05-28_23-18-53.png (23.07 КБ) 4421 просмотр
Re: [Модуль] Simple Calendar (app_calendar)
Добавлено: Сб май 30, 2020 5:15 pm
Jilber
В модуле в разделе "Помощь" есть скрипт "Говорящий календарь", но он проговаривает все задачи и потом уже события. Я имел ввиду как можно проговорить (или сохранить в отдельное свойство) только текущие праздники.
Re: [Модуль] Simple Calendar (app_calendar)
Добавлено: Вт июн 02, 2020 1:39 pm
webms
Jilber писал(а): Сб май 30, 2020 5:15 pm
В модуле в разделе "Помощь" есть скрипт "Говорящий календарь", но он проговаривает все задачи и потом уже события. Я имел ввиду как можно проговорить (или сохранить в отдельное свойство) только текущие праздники.
после
добавить
Код: Выделить всё
if ($ev['CALENDAR_CATEGORY_ID'] == ИД_КАТЕГОРИИ) {
и до
Код: Выделить всё
if ($i != 0) $say_phrase.= "У вас на сегодня запланированы задачи, ".$tasks;
добавить
Re: [Модуль] Simple Calendar (app_calendar)
Добавлено: Пт авг 14, 2020 10:25 pm
Alexander Znamensky
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 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);
}
}
Эх..... недостаточно вводных.... Очень хочу обновлять G Календарь.... Но опыта и знаний не хватает....
Fandaymon, я помню, что МЖДМ для Вас хобби, но, если у вас будет время/возможность, может быть сможете поподробнее объяснить, как создать сервисные аккаунт, как расшарить для него свой календарь через json и куда json нужно запихнуть ))))
Заранее спасибо!
P.S. Обязуюсь сделать потом инструкцию для всех жаждущих )))
Re: [Модуль] Simple Calendar (app_calendar)
Добавлено: Пт авг 14, 2020 11:11 pm
fandaymon
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... и дать ему права на календарь
Re: [Модуль] Simple Calendar (app_calendar)
Добавлено: Вс авг 16, 2020 10:28 pm
Alexander Znamensky
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... и дать ему права на календарь
Добрый вечер, уважаемый Fandaymon.
Спасибо за инструкцию. Но что-то похоже я делаю не так....
Сервисный аккаунт у меня уже был создан:

- Screenshot 2020-08-16 12.53.30.png (414.67 КБ) 4092 просмотра
Скачиваю файл json:

- Screenshot 2020-08-16 22.54.29.png (125.78 КБ) 4083 просмотра

- Screenshot 2020-08-16 22.08.55.png (410.65 КБ) 4092 просмотра
копирую json в папку /home/pi/.
Расшариваю гугл-календарь:

- calendar.png (403.75 КБ) 4092 просмотра
.
Делаю скрипт по Вашей инструкции:

- Screenshot 2020-08-16 22.23.00.png (518.18 КБ) 4092 просмотра
При выполнении - ошибка.

- Screenshot 2020-08-16 22.18.52.png (474.68 КБ) 4092 просмотра
В чем моя ошибка?
Re: [Модуль] Simple Calendar (app_calendar)
Добавлено: Вс авг 16, 2020 11:55 pm
fandaymon
В первой строчке, где requre_once должен быть вбит правильный путь на autoload.php Возможно путь не правильный
Ещё надо убедится, чтобы json доступен для пользователя под которым МДМ работает
Ну и если библиотека старая, то можно скачать в какую-нибудь свою папку отсюда
https://github.com/googleapis/google-api-php-client
Re: [Модуль] Simple Calendar (app_calendar)
Добавлено: Пн авг 17, 2020 6:49 pm
Alexander Znamensky
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":"
[email protected]","timeZone":"Europe\/Moscow","updated":"2020-08-17T14:24:25.285Z","defaultReminders":[],"items":[]}