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 signedinUseris either:-  An individual joining from a personal computer, a mobile device, or through Companion mode. 
-  A robot account used by conference room devices. 
 
-  
-  An anonymousUseris an unidentified user who's not signed in to a Google Account.
-  A phoneUseris 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 theparticipantsresource results.You can use the earliestStartTimeorlatestEndTimefields 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 participantresource using the trailing component of the path. For example, if theparticipantresource value isconferenceRecords/abc-123/participants/12345the ID for the People API is12345.
-  Include the READ_SOURCE_TYPE_PROFILE,READ_SOURCE_TYPE_CONTACT, andREAD_SOURCE_TYPE_OTHER_CONTACTReadSourceType. 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 theparticipantsresource results.You can use the startTimeorendTimefields 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.
-  

