A meeting space represents a virtual place or a persistent object (such as a meeting room) where conferences are held. A meeting space also helps users meet and find shared resources.
When you create a meeting space using the
spaces.create()
method, it
returns an instance of a spaces
resource. The resource includes the
SpaceConfig
object that's
the configuration for the meeting space. It also contains the
ActiveConference
object
that's a link to the current
conferenceRecords
resource
within the meeting space. For more information on managing a meeting space, see
Work with meeting spaces.
The following sections detail how to configure a meeting space using several new beta objects and methods.
Set moderation and meeting access
Through the new beta objects, you can now set moderation modes, feature
restrictions, and the permissions users receive when they join a meeting. These
are set through the updated
SpaceConfig
object.
The moderation
field is a pre-configured moderation mode for a meeting, with
the default controlled by the user's policies. It uses the
Moderation
object. When the moderation mode is on, the meeting organizer has control over
the
meeting with features such as co-host management (see
spaces.members
)
and feature restrictions (see moderationRestrictions
). For more information on
members, see Manage space members.
The moderationRestrictions
field enforces moderation restrictions for the
meeting when moderation
is on. It uses the
ModerationRestrictions
object. The restrictions define who has permission to
send chat messages and reactions, share their screen, and whether to restrict
the default role assigned to users as a viewer. The moderationRestrictions
field relies on a
RestrictionType
to apply the first three restrictions. The RestrictionType
can be applied to
the meeting organizer and co-host, or to all participants. The
DefaultJoinAsViewerType
applies the final permission where users join as contributors by default but
where hosts can also restrict users to join as viewers.
The firstJoinerType
field sets whether users can join before the host for
conferences in this meeting space. It defines which users can join the meeting
first and if others are in a waiting state. It uses the
FirstJoinerType
object.
Manage space members
A meeting organizer could always enter the meeting without knocking, but now you
can configure members who can also join the meeting without knocking.
Additionally, members can be configured to have a role in the meeting, such as
COHOST
which gives them the same abilities to manage the meeting as the
meeting organizer. For more information about accessing a meeting space without
knocking, see AccessType
.
The
spaces.members
resource includes the name
, user
, and role
fields.
Note that a member is different from a
participant. 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
conferenceRecords.participants
resource for each person.
You can manage space members using the following methods:
Each method takes a path parameter with the create and list methods using the
parent
field to denote the meeting space, and the delete and get methods using
the name
field to filter the results based on the meeting space and the member
name.
All methods, except delete, support the fields
parameter in
SystemParameterContext
. When the fields
parameter is omitted, the API response defaults to
"name,email,role,user"
.
The fields
parameter relies on a
FieldMask
for response filtering. A FieldMask is a way for API callers to list fields a
request should return. It's a comma-delimited list of fields to specify only
certain fields in an object are used while leaving the other fields unchanged.
Using a FieldMask allows the API to avoid unnecessary work and improves
performance. A field mask is used for create, get, and list methods. For more
information on field masks, see Google Sheets API's Use field
masks.
Manage auto artifacts
Meeting organizers, but not co-hosts, can pre-configure auto-recording, auto-transcripts, and "take notes for me" within the meeting space. When these settings are enabled, automatically the meeting space is recorded, transcripts are generated, and meeting notes are captured and organized into Google Docs automatically. Each feature is independent and is set per meeting space. Recording captions are only available in English.
You can pre-configure the auto artifacts either when you create a meeting
space or once the meeting
space is created. This feature also lets you set up auto-artifacts for meetings
created from Google Calendar. Both methods require the
meetings.space.settings
OAuth scope. For more information, see OAuth scopes
for settings.
Auto artifacts are set through the
ArtifactConfig
object, under the
SpaceConfig
object, which is part of the spaces
resource. ArtifactConfig
is made up of the recordingConfig
,
transcriptionConfig
, and smartNotesConfig
fields.
Each field is mapped to a similar object such as
RecordingConfig
,
TranscriptionConfig
, and
SmartNotesConfig
. Each object is set using the
AutoGenerationType
boolean enum to toggle the config object on or off.
OAuth scopes for settings
Setting or accessing meetings settings requires the following OAuth scopes:
Use case | Scope code |
---|---|
Set auto artifact generation for spaces created by other apps. | https://www.googleapis.com/auth/meetings.space.settings |
Get or list artifacts from conferences created by other apps. | https://www.googleapis.com/auth/meetings.space.readonly |
Get or list other pre-meeting settings of a meeting space created by a third-party app. | https://www.googleapis.com/auth/meetings.space.created https://www.googleapis.com/auth/meetings.space.readonly |
Read and edit the settings for all meeting spaces a user can access through any other app, such as Calendar. | https://www.googleapis.com/auth/meetings.space.settings |
For more information on OAuth scopes, see Meet REST API scopes.