Configure meeting spaces and members

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.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.

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.