Ссылка на встречу в календаре Google не создается автоматически через Google Calendar API (PHP)

#php #google-api #google-calendar-api #google-api-php-client

#php #google-api #google-calendar-api #google-api-php-client

Вопрос:

Ссылка на встречу в календаре Google не создается автоматически через Google Calendar PHP API. Google Calendar API перестал автоматически создавать ссылку на встречу в hangouts. Тот же код работал несколько месяцев назад, но не не не не.

Код

 $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();   


        
  

Комментарии:

1. Добро пожаловать в stack пожалуйста, отредактируйте свой вопрос, включите свой код и опишите любые проблемы, с которыми вы сталкиваетесь в своем текущем решении.

2. Код был обновлен, чтобы лучше понять проблему.

Ответ №1:

Решение

Чтобы создать свойство данных конференции в событии, вам нужно будет отправить запрос с активированным флагом ConferenceDataVersion.

conferenceDataVersion: номер версии данных конференции, поддерживаемых клиентом API. Версия 0 не предполагает поддержки данных конференции и игнорирует данные конференции в теле события. Версия 1 включает поддержку копирования ConferenceData, а также для создания новых конференций с использованием поля createRequest в conferenceData. Значение по умолчанию равно 0. Допустимые значения от 0 до 1 включительно.

Чтобы передать этот параметр в PHP, вы можете использовать следующую инструкцию:

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

При установке этого флага вам также необходимо будет создать свойство события с именем conferenceData.createRequest

Информация, связанная с конференцией, например, сведения о конференции Google Meet. Для создания новых сведений о конференции используйте createRequest поле. Чтобы сохранить ваши изменения, не забудьте установить для conferenceDataVersion параметра запроса значение 1 для всех запросов на изменение события.

Пример:

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

Ссылка

Создание событий

Вставка события в API календаря