Convidar pessoas para evento no google calendar através de PHP

12/06/2023

0

Estou tentando fazer o convite de uma pessoa para um evento no Google Calendar onde é feito a criação do evento sem problemas, porém na parte do convite é retornado o seguinte erro: Fatal error: Uncaught Google\Service\Exception: { "error": { "errors": [ { "domain": "calendar", "reason": "forbiddenForServiceAccounts", "message": "Service accounts cannot invite attendees without Domain-Wide Delegation of Authority." } ], "code": 403, "message": "Service accounts cannot invite attendees without Domain-Wide Delegation of Authority." } } in D:\amwebagencia\testes-\agendamento-google\vendor\google\apiclient\src\Http\REST.php on line 134. Já fiz pesquisas a respeito desse erro mas até então sem resultados relevantes.

require_once 'vendor/autoload.php';

// Autorização - Está funcionando corretamente
$client = new Google_Client();
$client->setAuthConfig('json-google-calendar/arquivo.json');
$client->addScope(Google_Service_Calendar::CALENDAR);

$service = new Google_Service_Calendar($client);


// Criação de evento - Está funcionando corretamente

$calendarId = 'bbb@gmail.com'; // ID da agenda (por padrão, usa a agenda primária)

$evento = new Google_Service_Calendar_Event(array(
    'summary' => 'Título do Evento 22',
    'description' => 'Descrição do Evento',
    'start' => array(
        'dateTime' => '2023-06-11T16:02:00',
        'timeZone' => 'America/Sao_Paulo',
    ),
    'end' => array(
        'dateTime' => '2023-06-11T17:02:00',
        'timeZone' => 'America/Sao_Paulo',
    ),
));

$eventoInserido = $service->events->insert($calendarId, $evento);

echo 'Evento inserido com sucesso. ID do Evento: ' . $eventoInserido->getId();


// Convidar pessoa para evento - Está retornando o erro: Fatal error: Uncaught Google\Service\Exception: { "error": { "errors": [ { "domain": "calendar", "reason": "forbiddenForServiceAccounts", "message": "Service accounts cannot invite attendees without Domain-Wide Delegation of Authority." } ], "code": 403, "message": "Service accounts cannot invite attendees without Domain-Wide Delegation of Authority." } } in D:\amwebagencia\testes-\agendamento-google\vendor\google\apiclient\src\Http\REST.php on line 134

$eventId = $eventoInserido->getId(); // ID do evento específico
$email = 'xxx@gmail.com'; // E-mail da pessoa que você deseja convidar

$attendee = new Google_Service_Calendar_EventAttendee(array(
    'email' => $email,
));

$event = $service->events->get('bbb@gmail.com', $eventId);
$attendees = $event->getAttendees();
$attendees[] = $attendee;
$event->setAttendees($attendees);

$updatedEvent = $service->events->update('bbb@gmail.com', $eventId, $event, array('sendUpdates' => 'all'));

echo 'Pessoa convidada com sucesso para o evento.';
Anderson

Anderson

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar