В этом руководстве объясняется, как получить сведения об участниках, посетивших прошлую конференцию или находящихся в активной конференции, а также информацию об их сеансе, используя API Google Meet REST.
Участник — это человек, присоединившийся к вызову, использующий режим Companion , наблюдающий за происходящим в качестве зрителя или подключенное к вызову устройство в переговорной комнате. Для каждого участника существует один ресурс participants .
Сеанс участника — это уникальный идентификатор сеанса, создаваемый для каждой пары «участник-устройство», присоединяющейся к вызову. Для каждого сеанса существует один ресурс participantSessions . Если участник присоединяется к одному и тому же вызову несколько раз с одной и той же пары «участник-устройство», каждому из них присваиваются уникальные идентификаторы сеанса.
Если вы являетесь владельцем или участником места проведения совещания, вы можете вызвать методы get() и list() как для participants , так и для ресурсов participantSessions , чтобы получить записи участников.
Аутентификация и авторизация с использованием учётных данных пользователя позволяют приложениям Google Meet получать доступ к данным пользователя и выполнять операции от его имени. Аутентификация с делегированием на уровне домена позволяет предоставить сервисной учётной записи приложения доступ к данным ваших пользователей, не требуя согласия каждого пользователя.
Участники
В следующих разделах подробно описано, как получить информацию об участниках записи конференции.
Ресурсы participants объединены с полем user . user может быть только одним из следующих объектов:
signedinUser— это либо:Пользователь, присоединяющийся с персонального компьютера, мобильного устройства или через режим Companion.
Учетная запись робота, используемая устройствами конференц-зала.
anonymousUser— это неидентифицированный пользователь, не вошедший в учетную запись Google.phoneUser— это пользователь, совершающий звонок с телефона, личность которого неизвестна, поскольку он не вошел в систему с помощью учетной записи Google.
Обратите внимание, что, хотя все три объекта возвращают displayName , signedinUser также возвращает уникальный идентификатор user , совместимый с API Admin SDK и People API. Формат: users/{user} . Подробнее об использовании идентификатора user с People API см. в разделе Получение сведений об участнике с помощью People API .
Получить информацию об участнике
Чтобы получить информацию о конкретном участнике, используйте метод get() ресурса participants с параметром name path. Если вы не знаете имя участника, вы можете получить список всех имён участников с помощью метода list() .
Метод возвращает данные участника как экземпляр ресурса participants .
В следующем примере кода показано, как получить определенного участника:
Ява
Node.js
Питон
Замените имя участника на имя конкретного идентификатора участника в записи конференции.
Список всех участников
Чтобы вывести список сведений обо всех участниках записи конференции, используйте метод list() ресурса participants с параметром parent пути. Формат: conferenceRecords/{conferenceRecord} .
Метод возвращает список участников конференции, отсортированный по убыванию по значению earliestStartTime , как экземпляр ресурса « participants . Чтобы настроить размер страницы и отфильтровать результаты запроса, см. раздел Настройка пагинации или фильтрация списка участников .
В следующем примере кода показано, как составить список всех участников записи конференции:
Ява
Node.js
Питон
Замените родительское значение именем записи конференции.
Настройте пагинацию или отфильтруйте список участников
Передайте следующие параметры запроса для настройки пагинации или фильтрации участников:
pageSize: Максимальное количество возвращаемых участников. Сервис может вернуть меньше этого значения. Если не указано, возвращается не более 100 участников. Максимальное значение — 250; значения больше 250 автоматически изменяются на 250.pageToken: токен страницы, полученный при предыдущем вызове списка. Укажите этот токен для получения следующей страницы.filter: Необязательно. Фильтр запроса для извлечения определённых элементов из результатов поиска ресурсовparticipants.Вы можете использовать поля
earliestStartTimeилиlatestEndTimeдля фильтрации пользователей, которые присоединились до или покинули сайт после определённого времени. В обоих полях используется формат Timestamp в формате RFC 3339 UTC «Zulu» с разрешением в наносекундах и до девяти знаков после запятой:{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z. Например:-
earliestStartTime < 2023-10-01T15:01:23Z -
latestEndTime < 2023-10-01T15:01:23Z
Чтобы составить список всех активных участников существующей конференции, используйте
latestEndTime IS NULL.-
Получите данные об участниках с помощью API People
Чтобы получить сведения об участнике, используйте метод get() ресурса people в API People.
Извлеките идентификатор человека из ресурса
participant, используя конечный компонент пути. Например, если значение ресурсаparticipant—conferenceRecords/abc-123/participants/12345идентификатор API People —12345.Включите
READ_SOURCE_TYPE_PROFILE,READ_SOURCE_TYPE_CONTACTиREAD_SOURCE_TYPE_OTHER_CONTACTReadSourceType. Это гарантирует включение в ответ как внутренних пользователей организации Google Workspace, так и внешних контактов.
В следующем примере кода показано, как выполнить поиск как в профилях организаций, так и в контактах для человека:
cURL
curl \
'https://people.googleapis.com/v1/people/PERSON_ID?personFields=names%2CemailAddresses&sources=READ_SOURCE_TYPE_OTHER_CONTACT&sources=READ_SOURCE_TYPE_PROFILE&sources=READ_SOURCE_TYPE_CONTACT' \
--header 'Authorization: Bearer ACCESS_TOKEN' \
--header 'Accept: application/json' \
--compressed
Заменить следующее:
- PERSON_ID : идентификатор человека, которого нужно найти.
- ACCESS_TOKEN : токен доступа, предоставляющий доступ к нескольким API.
Участники сессий
В следующих разделах подробно описано, как получить информацию о сеансах участника записи конференции.
Получить подробную информацию о сеансе участника
Чтобы получить информацию о сеансе конкретного участника, используйте метод get() ресурса participantSessions с параметром name path. Если вы не знаете имя сеанса участника, вы можете получить список всех сеансов участника с помощью метода list() .
Метод возвращает имя участника как экземпляр ресурса participantSessions .
В следующем примере кода показано, как получить сеанс конкретного участника:
Ява
Node.js
Питон
Замените имя участника на имя конкретного идентификатора сеанса участника в сеансе участника.
Список всех сеансов участников
Чтобы вывести список всех сеансов участника, указанного в записи конференции, используйте метод list() ресурса participantSessions с параметром path, указывающим parent путь. Формат: conferenceRecords/{conferenceRecord}/participants/{participant} .
Метод возвращает список сеансов участников, упорядоченный по startTime в порядке убывания, как экземпляр ресурса participantSession . Чтобы настроить размер страницы и отфильтровать результаты запроса, см. раздел Настройка пагинации или фильтрация списка сеансов участников .
В следующем примере кода показано, как составить список всех сеансов участников в записи конференции:
Ява
Node.js
Питон
Замените родительское значение именем сеансов участника записи конференции.
Настройте пагинацию или отфильтруйте список сеансов участников
Передайте следующие необязательные параметры запроса для настройки пагинации или фильтрации сеансов участников:
pageSize: Максимальное количество возвращаемых сеансов участников. Сервис может вернуть меньше этого значения. Если не указано, возвращается не более 100 сеансов участников. Максимальное значение — 250; значения больше 250 автоматически изменяются на 250.pageToken: токен страницы, полученный при предыдущем вызове списка. Укажите этот токен для получения следующей страницы.filter: Необязательно. Фильтр запроса для извлечения определённых элементов из результатов поиска ресурсовparticipants.Вы можете использовать поля
startTimeиendTimeдля фильтрации пользователей, которые присоединились до или покинули сообщество после определённого времени. В обоих полях используется формат Timestamp в формате RFC 3339 UTC «Zulu» с разрешением в наносекундах и до девяти знаков после запятой:{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z. Например:-
startTime < 2023-10-01T15:01:23Z -
endTime < 2023-10-01T15:01:23Z
Чтобы составить список всех сеансов активных участников в записи конференции, используйте
endTime IS NULL.-