Добавьте прямую трансляцию в конференцию событий Календаря Google через API - PullRequest
1 голос
/ 18 марта 2020

Я пытаюсь зарегистрировать события в Календаре Google через его API. После создания мероприятия я добавляю конференцию в Google Meet, чтобы получить ссылку. НО Google Meet имеет максимум 100 пользователей на конференцию, поэтому я хочу добавить прямую трансляцию к событию, потому что прямую трансляцию можно просматривать до 100 000 пользователей:

https://support.google.com/meet/answer/9308630?co=GENIE.Platform%3DDesktop&hl=en

Вот как я создаю событие в PHP:

function getClient(){
    $client = new Google_Client();
    $client->setApplicationName('Sala de Conferencia - PEV');
    $client->setScopes(Google_Service_Calendar::CALENDAR_EVENTS);
    $client->setAuthConfig('credentials/client_secret_xxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxx.apps.googleusercontent.com.json');
    $client->setAccessType('offline');
    $client->setPrompt('select_account consent');

    $tokenPath = 'credentials/conference-room-token.json';
    if (file_exists($tokenPath)) {
        $accessToken = json_decode(file_get_contents($tokenPath), true);
        $client->setAccessToken($accessToken);
    }

    if ($client->isAccessTokenExpired()) {
        if ($client->getRefreshToken()) {
            $client->fetchAccessTokenWithRefreshToken($client->getRefreshToken());
        } else {
            $authUrl = $client->createAuthUrl();
            echo $authUrl;
            $authCode = "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx";

            $accessToken = $client->fetchAccessTokenWithAuthCode($authCode);
            $client->setAccessToken($accessToken);

            if (array_key_exists('error', $accessToken)) {
                throw new Exception(join(', ', $accessToken));
            }
        }
        if (!file_exists(dirname($tokenPath))) {
            mkdir(dirname($tokenPath), 0700, true);
        }
        file_put_contents($tokenPath, json_encode($client->getAccessToken()));
    }
    return $client;
}

$client = getClient();
$calendarService = new Google_Service_Calendar($client);

$calendarId = 'primary';

$event = new Google_Service_Calendar_Event(array(
    'summary' => "xxxxxxxxxxxxxxxxx",
    'description' => "xxxxxxxxxxxxxxxxxx",
    'location' => '',
    'start' => array(
        'dateTime' => $start_date,
        'timeZone' => 'America/La_Paz',
    ),
    'end' => array(
        'dateTime' => $end_date,
        'timeZone' => 'America/La_Paz',
    ),
    'attendees' => $attendees,
    'organizer' => array(
        'email' => $USER->email,
        'displayName' => $USER->firstname.' '.$USER->lastname
    )
));

$optParams = Array('sendNotifications' => true);

$event = $calendarService->events->insert($calendarId, $event, $optParams);

$eventPatch = new Google_Service_Calendar_Event(array(
    'conferenceData' => array(
        'createRequest' => array(
            'requestId' => $pagedata['token']
        ),
        'notes' =>  "xxxxxxxxxxxxxxxxxxxxxxxx"
    )
));

$calendarService->events->patch($calendarId, $event->getId(), $eventPatch, array('conferenceDataVersion' => 1));

sleep(10);

$event = $calendarService->events->get($calendarId, $event->getId());

Поэтому я хочу узнать, как зарегистрировать прямой эфир на уже созданную конференцию в Google Meet, используя календарь Google php api.

Пример: это конференция Google Meet https://meet.google.com/cmc-byey-dgo

И это та же конференция, зарегистрированная в прямом эфире https://stream.meet.google.com/stream/56ac889b-4ac2-4fc4-890a-fe3fc5195f69

1 Ответ

0 голосов
/ 08 апреля 2020

В настоящее время это невозможно, и существует открытая проблема в трекере публикаций c API Календаря Google.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...