Skip to content
Advertisement

Google calendar meet link not being created automatically via Google Calendar API (PHP)

Google calendar meet link not being created automatically via Google Calendar PHP API. Google Calendar API stopped creating a hangout meeting link automatically. The same code was working a few months back but not not not.

Code

$client = getClient();
$service = new Google_Service_Calendar($client);
$event = new Google_Service_Calendar_Event(array(
  'summary' => $summary, //'Google Calendar summary',
  'location' => $location, //'USA',
  'description' => $description, //'Book Room',
  'start' => array(
    'dateTime' => $sessionStartTime,//'2018-08-16T14:30:00-00:00',
    'timeZone' => 'America/Los_Angeles',
  ),
  'end' => array(
    'dateTime' => $sessionEndTime,//'2018-08-16T14:30:00-01:00',
    'timeZone' => 'America/Los_Angeles',
  ),
  'attendees' => array(
    array('email' => $attendeesEmailNEW,'resource' => true),
  ),
  'reminders' => array(
    'useDefault' => FALSE,
    'overrides' => array(
      array('method' => 'popup', 'minutes' => 10),
    ),
  ),
));
    
$calendarId = 'primary';        
$event = $service->events->insert($calendarId, $event);
$createdID = $event->getId();   


        

Advertisement

Answer

Solution

In order to create the conference data property in an Event you will have to send a request with the ConferenceDataVersion flag activated.

conferenceDataVersion : Version number of conference data supported by the API client. Version 0 assumes no conference data support and ignores conference data in the event’s body. Version 1 enables support for copying of ConferenceData as well as for creating new conferences using the createRequest field of conferenceData. The default is 0. Acceptable values are 0 to 1, inclusive.

To pass this setting in PHP you can use the following instruction:

 $service->events->insert($calendarId, $event, ['conferenceDataVersion' => 1]);      

When setting this flag you will also have to create an Event property called conferenceData.createRequest

The conference-related information, such as details of a Google Meet conference. To create new conference details use the createRequest field. To persist your changes, remember to set the conferenceDataVersion request parameter to 1 for all event modification requests.

Example:

"conferenceData" => [
        "createRequest" => [
          "conferenceSolutionKey" => [
            "type" => "hangoutsMeet"
          ],
          "requestId" => "123"
        ]
      ]

Reference

Create Events

Calendar API Event insert

User contributions licensed under: CC BY-SA
10 People found this is helpful
Advertisement