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 Create and manage meeting
spaces 
.
The following sections detail how to configure a meeting space using these objects and methods.
Set moderation and meeting access
You can set how users join a meeting, the moderation modes, the feature
restrictions, and the permissions users receive when they join a meeting, through
the  SpaceConfig 
 
object.
Access meeting spaces
To determine who can join a meeting space without knocking, set the accessType 
field using the  AccessType 
 
object.
You can choose from multiple settings on whether to automatically allow
attendees to join. The field defaults to the user's default access settings.
To define the entry points that can be used to join meetings hosted in a meeting
space, set the entryPointAccess 
field using the  EntryPointAccess 
 
object. Set to ALL 
to allow all entry points or CREATOR_APP_ONLY 
to scope
the entry points to only those owned by the Google Cloud project that created the
meeting space.
Generate attendance report
To create an attendance report for the meeting space, set the boolean attendanceReportGenerationType 
field using the  AttendanceReportGenerationType 
 
object. If a report is requested, Google Meet saves the attendance report to
the meeting organizer's Google Drive and an email is also sent.
Moderate meeting spaces
To moderate a meeting, you can set the boolean moderation 
field using 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 using the moderationRestrictions 
field. For more
information on members, see Manage space members 
.
To define feature restrictions when the meeting is moderated ( moderation 
is on 
), set the moderationRestrictions 
field using the  ModerationRestrictions 
 
object. The restrictions define who has permission within the meeting space to
send chat messages or reactions, or to share their screen.
To set the feature restrictions on the moderationRestrictions 
field, use the  RestrictionType 
 
enum to apply the chatRestriction 
, reactionRestriction 
, presentRestriction 
. Set to HOSTS_ONLY 
to apply the permissions to both the
meeting organizer and co-host, or NO_RESTRICTION 
to apply to all participants.
To restrict the default role assigned to users as viewer, set the boolean  defaultJoinAsViewerType 
 
field using the  DefaultJoinAsViewerType 
 
enum. If defaultJoinAsViewerType 
is on 
, users join as viewers. If off 
,
users join as contributors. Default is off 
. If an explicit role is set for a
user in spaces.members 
, the user joins as that role.
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, 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 
.
To set auto artifacts, use the  ArtifactConfig 
 
object, under the  SpaceConfig 
 
object. 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 
 
. To set each object, use 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.createdhttps://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 .
Manage space members
While meeting organizers can always enter the meeting without knocking, you can
also configure additional members to 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 
.

