Приглашения на мероприятия и уведомления не отправляются гостям в календаре Google через режим служебных учетных записей. - PullRequest
0 голосов
/ 16 января 2019

Создание учетной записи службы в консоли разработчика и добавление идентификатора электронной почты учетной записи службы в календаре Google с правами администратора.

Проблема здесь заключается в том, что приглашения и напоминания о событиях не запускаются автоматически через учетные записи служб, а с помощью идентификатора клиента и секретного ключа могут отправлять электронные письма с приглашениями и напоминаниями.

Использование oauth2.0 предлагает пользователю войти в систему и разрешить доступ, но здесь требуется доступ к собственному календарю Google, поэтому при использовании учетных записей служб создаются события, но приглашения и напоминания не отправляются.

Ссылка: Вставка события Google V3 с использованием oauth2.0 и учетных записей служб

Есть ли обходной путь или решена проблема, пожалуйста, помогите нам. Заранее спасибо.

Ниже представлен объект создания события.

$event = new Google_Service_Calendar_Event(
            array(
                'summary' => $title,
                'start' => array(
                    'dateTime' => $data['start_date_time'],
                ),
                'end' => array(
                    'dateTime' => $data['end_date_time'],
                ),
                'attendees' => array(
                    array(
                        'email' => $data['student_email'],
                        'displayName' => $data['student_name'],
                        'responseStatus' => "needsAction"
                    ),
                    array(
                        'email' => $data['mentor_email'],
                        'displayName' => $data['mentor_name'],
                        'responseStatus' => "needsAction"
                    ),
                ),
                'guestsCanInviteOthers' => false,
                'guestsCanSeeOtherGuests' => false,
                'sendUpdates' => "all",
            )
$service = new Google_Service_Calendar($this->client);
$event = $service->events->insert($this->calendar_id, $event);

1 Ответ

0 голосов
/ 16 января 2019

Ссылка: Вставка события Google V3 с использованием oauth2.0 и учетных записей служб

Существуют тело запроса и параметры запроса для запроса. sendUpdates - это параметр запроса, используемый в теле запроса, поэтому уведомления и приглашения не отправляются.

Использовать следующий код: Удалить атрибут sendUpdates из тела запроса события, если таковые имеются.

$service = new Google_Service_Calendar($this->client); $event = $service->events->insert($this->calendar_id, $event, array('sendUpdates' => 'all'));

Тело запроса такое же, как указано выше.

Спасибо.

...