This guide explains how to get details about participants who attended a past conference or who are in an active conference, along with their session info, using the Google Meet REST API.
A participant is a person joined to a
call or that uses Companion
mode, watching as a viewer, or
a room device connected to a call. There's one
participants
resource for each person.
A participant session is a
unique session ID created for each participant-device pair that joins a call.
There's one
participantSessions
resource for each session. If the participant joins the same call multiple times
from the same participant-device pair, they're each assigned unique session IDs.
If you're a meeting space owner or participant, you can call the get()
and
list()
methods on both the participants
and the participantSessions
resources to retrieve participant records.
Authenticating and authorizing with user credentials lets Google Meet apps access user data and perform operations on the authenticated user's behalf. Authenticating with domain-wide delegation lets you authorize an application's service account to access your users' data without requiring each user to give consent.
Participants
The following sections detail how to get information about participants in a conference record.
The participants
resource unions with the user
field. A user
can be only one of the following
objects:
A
signedinUser
is either:An individual joining from a personal computer, a mobile device, or through Companion mode.
A robot account used by conference room devices.
An
anonymousUser
is an unidentified user who's not signed in to a Google Account.A
phoneUser
is a user dialing in from a phone where the user's identity is unknown because they haven't signed in with a Google Account.
Note that while all three objects return a displayName
, signedinUser
also
returns a unique user
ID that's interoperable with the Admin SDK API and the
People API. Format: users/{user}
. For more information on using the user
ID with the People API, see Retrieve participant details with the
People API.
Get details about a participant
To get details about a specific participant, use the
get()
method
on the
participants
resource with the name
path parameter. If you don't know the participant name,
you can list all participant names using the list()
method.
The method returns a participant data as an instance of a participants
resource.
The following code sample shows how to retrieve a specific participant:
Java
Node.js
Python
Replace the participant name with the name of the specific participant ID in a conference record.
List all participants
To list details about all participants in a conference record, use the
list()
method on the
participants
resource with the parent
path parameter. Format:
conferenceRecords/{conferenceRecord}
.
The method returns a list of conference participants, ordered by
earliestStartTime
in descending order, as an instance of a participants
resource. To adjust the page size and filter the query results, see Customize
pagination or filter the participants list.
The following code sample shows how to list all participants in a conference record:
Java
Node.js
Python
Replace the parent value with the name of the conference record.
Customize pagination or filter the participants list
Pass the following query parameters to customize pagination of, or filter, participants:
pageSize
: The maximum number of participants to return. The service might return fewer than this value. If unspecified, at most 100 participants are returned. The maximum value is 250; values more than 250 are automatically changed to 250.pageToken
: A page token, received from a previous list call. Provide this token to retrieve the subsequent page.filter
: Optional. A query filter to retrieve specific items in theparticipants
resource results.You can use the
earliestStartTime
orlatestEndTime
fields to filter for users who joined before or left after a certain time. Both fields use the Timestamp format in RFC 3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits:{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z
. For example:earliestStartTime < 2023-10-01T15:01:23Z
latestEndTime < 2023-10-01T15:01:23Z
To list all active participants in an existing conference, use
latestEndTime IS NULL
.
Retrieve participant details with the People API
To retrieve details about a participant, use the
get()
method on the
people
resource in the People API.
Extract the ID of the person from the
participant
resource using the trailing component of the path. For example, if theparticipant
resource value isconferenceRecords/abc-123/participants/12345
the ID for the People API is12345
.Include the
READ_SOURCE_TYPE_PROFILE
,READ_SOURCE_TYPE_CONTACT
, andREAD_SOURCE_TYPE_OTHER_CONTACT
ReadSourceType
. This makes sure both internal users to a Google Workspace organization and external contacts are included in the response.
The following code sample shows how to search both organization profiles and contacts for a person:
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
Replace the following:
- PERSON_ID: the ID of the person to find.
- ACCESS_TOKEN: the access token that grants access to multiple APIs.
Participant sessions
The following sections detail how to get information about participant sessions of a participant in a conference record.
Get details about a participant session
To get details about a specific participant session, use the
get()
method on the
participantSessions
resource with the name
path parameter. If you don't know the participant
session name, you can list all participant sessions of a
participant using the list()
method.
The method returns a participant name as an instance of a participantSessions
resource.
The following code sample shows how to retrieve a specific participant session:
Java
Node.js
Python
Replace the participant name with the name of the specific participant session ID in a participant session.
List all participant sessions
To list details about all participant sessions of a participant in a conference
record, use the
list()
method on the
participantSessions
resource with the parent
path parameter. Format:
conferenceRecords/{conferenceRecord}/participants/{participant}
.
The method returns a list of participant sessions, ordered by startTime
in
descending order, as an instance of a participantSession
resource. To adjust
the page size and filter the query results, see Customize pagination or filter
the participant sessions list.
The following code sample shows how to list all participant sessions in a conference record:
Java
Node.js
Python
Replace the parent value with the name of the participant sessions of a participant in a conference record.
Customize pagination or filter the participant sessions list
Pass the following optional query parameters to customize pagination of, or filter, participant sessions:
pageSize
: The maximum number of participant sessions to return. The service might return fewer than this value. If unspecified, at most 100 participant sessions are returned. The maximum value is 250; values more than 250 are automatically changed to 250.pageToken
: A page token, received from a previous list call. Provide this token to retrieve the subsequent page.filter
: Optional. A query filter to retrieve specific items in theparticipants
resource results.You can use the
startTime
orendTime
fields to filter for users who joined before or left after a certain time. Both fields use the Timestamp format in RFC 3339 UTC "Zulu" format, with nanosecond resolution and up to nine fractional digits:{year}-{month}-{day}T{hour}:{min}:{sec}[.{frac_sec}]Z
. For example:startTime < 2023-10-01T15:01:23Z
endTime < 2023-10-01T15:01:23Z
To list all active participant sessions in the conference record, use
endTime IS NULL
.