#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"
]
]