В этом руководстве объясняется, как получить подробную информацию об участниках, которые посещали прошедшую конференцию или участвуют в активной конференции, а также информацию об их сессиях, используя REST API Google Meet.
Участником считается человек, подключившийся к звонку или использующий режим «Сопровождение» , наблюдающий за происходящим как зритель, или устройство, подключенное к звонку в комнате. Для каждого participants существует отдельный ресурс.
Участник сессии — это уникальный идентификатор сессии, создаваемый для каждой пары участник-устройство, подключающееся к вызову. Для каждой сессии существует один ресурс participantSessions . Если участник подключается к одному и тому же вызову несколько раз с одной и той же пары участник-устройство, каждому из них присваивается уникальный идентификатор сессии.
Если вы являетесь владельцем или участником переговорной комнаты, вы можете вызвать методы get и list для ресурсов participants и participantSessions , чтобы получить записи об участниках.
Аутентификация и авторизация с использованием учетных данных пользователя позволяют приложениям Google Meet получать доступ к данным пользователя и выполнять операции от имени авторизованного пользователя. Аутентификация с делегированием на уровне домена позволяет авторизовать учетную запись службы приложения для доступа к данным пользователей без необходимости получения согласия от каждого пользователя.
Участники
В следующих разделах подробно описано, как получить информацию об участниках конференции.
participants объединяют ресурсы с полем user . user может представлять собой только один из следующих объектов:
Пользователь
signedinUserможет быть либо:Пользователь подключается с персонального компьютера, мобильного устройства или через режим "Сопровождающий".
Учетная запись робота, используемая устройствами в конференц-залах.
anonymousUser— это неопознанный пользователь, не вошедший в свою учетную запись Google.phoneUser, набирающий номер с телефона, личность которого неизвестна, поскольку он не вошел в систему с помощью учетной записи Google.
Обратите внимание, что хотя все три объекта возвращают displayName , signedinUser также возвращает уникальный идентификатор user , совместимый с API Admin SDK и API People. Формат: users/{user} . Для получения дополнительной информации об использовании идентификатора user с API People см. раздел «Получение сведений об участнике с помощью API People» .
Получить подробную информацию об участнике
Чтобы получить подробную информацию о конкретном участнике, используйте метод ` get ресурса ` participants . Укажите параметр пути name в формате conferenceRecords/{conferenceRecord}/participants/{participantRecord} .
Если вам неизвестно имя участника, вы можете перечислить все имена участников, используя метод list .
Метод возвращает данные участника в виде экземпляра ресурса participants .
Приведённый ниже пример кода показывает, как получить информацию о конкретном участнике:
Java
Node.js
Python
cURL
curl -X GET "https://meet.googleapis.com/v2/conferenceRecords/CONFERENCE_RECORD_NAME/participants/PARTICIPANT_NAME" \
-H "Authorization: Bearer ACCESS_TOKEN"
Замените ACCESS_TOKEN на токен доступа, предоставляющий доступ к API.
Замените следующее:
- Название записи конференции, содержащее идентификатор конкретной конференции в записи конференции.
- Имя участника, соответствующее идентификатору конкретного участника в записи конференции.
Перечислите всех участников
Чтобы отобразить подробную информацию обо всех участниках конференции, используйте метод ` list ресурса ` participants . Задайте параметр ` parent в формате conferenceRecords/{conferenceRecord} .
Метод возвращает список участников конференции, отсортированный по значению earliestStartTime в порядке убывания, в виде экземпляра ресурса participants . Чтобы настроить размер страницы и отфильтровать результаты запроса, см. раздел «Настройка пагинации или фильтрация списка участников» .
Приведенный ниже пример кода показывает, как вывести список всех участников записи конференции:
Java
Node.js
Python
cURL
curl -X GET "https://meet.googleapis.com/v2/conferenceRecords/PARENT_NAME/participants" \
-H "Authorization: Bearer ACCESS_TOKEN"
Замените ACCESS_TOKEN на токен доступа, предоставляющий доступ к API.
Замените имя родительского элемента на имя конкретного идентификатора конференции в записи о конференции.
Настройте постраничную навигацию или отфильтруйте список участников.
Передайте следующие параметры запроса, чтобы настроить постраничную навигацию или фильтрацию участников:
pageSize: Максимальное количество участников, которое может быть возвращено. Сервис может вернуть меньше этого значения. Если не указано, возвращается не более 100 участников. Максимальное значение — 250; значения больше 250 автоматически изменяются на 250.pageToken: Токен страницы, полученный из предыдущего вызова списка. Предоставьте этот токен для получения следующей страницы.filter: Необязательный параметр. Фильтр запроса для получения определенных элементов в результатах поиска ресурсовparticipants.Вы можете использовать поля
earliestStartTimeилиlatestEndTimeдля фильтрации пользователей, которые присоединились до или покинули систему после определенного времени. Оба поля используют формат временной метки в формате 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.Включите в
ReadSourceTypeREAD_SOURCE_TYPE_PROFILE,READ_SOURCE_TYPE_CONTACTиREAD_SOURCE_TYPE_OTHER_CONTACT. Это гарантирует, что в ответ будут включены как внутренние пользователи организации 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 в формате conferenceRecords/{conferenceRecord}/participants/{participantRecord}/participantSessions/{participantSessionRecord} .
Если вам неизвестно имя сессии участника, вы можете вывести список всех сессий участника, используя метод list .
Метод возвращает имя участника в виде экземпляра ресурса participantSessions .
Приведенный ниже пример кода демонстрирует, как получить доступ к сессии конкретного участника:
Java
Node.js
Python
cURL
curl -X GET "https://meet.googleapis.com/v2/conferenceRecords/CONFERENCE_RECORD_NAME/participants/PARTICIPANT_NAME/participantSessions/PARTICIPANT_SESSION_ID" \
-H "Authorization: Bearer ACCESS_TOKEN"
Замените ACCESS_TOKEN на токен доступа, предоставляющий доступ к API.
Замените следующее:
- Название записи конференции, содержащее идентификатор конкретной конференции в записи конференции.
- Имя участника, соответствующее идентификатору конкретного участника в записи конференции.
- Идентификатор сессии участника, содержащий идентификатор конкретной сессии участника.
Перечислите все сессии с участием участников.
Чтобы отобразить подробную информацию обо всех сессиях участника в записи конференции, используйте метод list() ресурса participantSessions . Укажите параметр parent пути в формате conferenceRecords/{conferenceRecord}/participants/{participantRecord} .
Метод возвращает список сессий участников, отсортированных по startTime в порядке убывания, в виде экземпляра ресурса participantSession . Чтобы настроить размер страницы и отфильтровать результаты запроса, см. раздел «Настройка пагинации» или «Фильтрация списка сессий участников» .
Приведенный ниже пример кода показывает, как вывести список всех сессий участников конференции:
Java
Node.js
Python
cURL
curl -X GET "https://meet.googleapis.com/v2/conferenceRecords/CONFERENCE_RECORD_NAME/participants/PARENT_NAME/participantSessions" \
-H "Authorization: Bearer ACCESS_TOKEN"
Замените ACCESS_TOKEN на токен доступа, предоставляющий доступ к API.
Замените следующее:
- Название записи конференции, содержащее идентификатор конкретной конференции в записи конференции.
- Имя родительского элемента, содержащее названия сессий участника в записи конференции.
Настройте постраничную навигацию или отфильтруйте список сессий участников.
Передайте следующие необязательные параметры запроса, чтобы настроить постраничную навигацию или фильтрацию сессий участников:
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.-