配置会议空间设置

会议空间表示举行会议的虚拟场所或持久对象(例如会议室)。会议空间还可以帮助用户开会和查找共享资源。

使用 spaces.create 方法创建会议空间时,该方法会返回 spaces 资源的实例。该资源包含 SpaceConfig 对象,该对象是会议空间的配置。它还包含 ActiveConference 对象,该对象是指向会议空间内当前 conferenceRecords 资源的链接。如需详细了解如何管理会议室,请参阅管理会议室

以下部分将详细介绍如何使用这些对象和方法配置会议空间。

设置会议管理和访问权限

您可以通过 SpaceConfig 对象设置用户加入会议的方式、会议管理模式、功能限制以及用户加入会议时获得的权限。

配置会议访问权限

如需确定哪些人可以不经过申请即可加入会议空间,请使用 AccessType 对象设置 accessType 字段。您可以选择多种设置,以确定是否自动允许参会者加入。此字段的默认值为用户的默认访问权限设置。

如需定义可用于加入会议空间中托管的会议的入口点,请使用 EntryPointAccess 对象设置 entryPointAccess 字段。设置为 ALL 可允许所有入口点,设置为 CREATOR_APP_ONLY 可将入口点限定为仅由创建会议空间的 Google Cloud 项目拥有的入口点。

以下代码示例展示了如何为会议室配置访问权限设置:

Java

import com.google.apps.meet.v2.Space;
import com.google.apps.meet.v2.SpaceConfig;
import com.google.apps.meet.v2.SpacesServiceClient;
import com.google.apps.meet.v2.UpdateSpaceRequest;
import com.google.protobuf.FieldMask;

public class ConfigureSpaceAccess {
  public static void main(String[] args) throws Exception {
    try (SpacesServiceClient client = SpacesServiceClient.create()) {
      Space space =
          Space.newBuilder()
              .setName("spaces/SPACE_NAME")
              .setConfig(
                  SpaceConfig.newBuilder()
                      .setAccessType(SpaceConfig.AccessType.RESTRICTED)
                      .setEntryPointAccess(SpaceConfig.EntryPointAccess.ALL)
                      .build())
              .build();
      FieldMask updateMask =
          FieldMask.newBuilder()
              .addPaths("config.access_type")
              .addPaths("config.entry_point_access")
              .build();
      UpdateSpaceRequest request =
          UpdateSpaceRequest.newBuilder()
              .setSpace(space)
              .setUpdateMask(updateMask)
              .build();
      Space response = client.updateSpace(request);
      System.out.println("Updated space: " + response.getName());
    }
  }
}

Node.js

const {SpacesServiceClient} = require('@google-apps/meet').v2;

async function configureSpaceAccess(spaceName) {
  const meetClient = new SpacesServiceClient();
  const [response] = await meetClient.updateSpace({
    space: {
      name: spaceName,
      config: {
        accessType: 'RESTRICTED',
        entryPointAccess: 'ALL',
      },
    },
    updateMask: {
      paths: ['config.access_type', 'config.entry_point_access'],
    },
  });
  console.log(`Updated space: ${response.name}`);
  return response;
}

Python

from google.apps import meet_v2
from google.protobuf import field_mask_pb2

def configure_space_access(space_name):
    client = meet_v2.SpacesServiceClient()
    space = meet_v2.Space(
        name=space_name,
        config=meet_v2.SpaceConfig(
            access_type=meet_v2.SpaceConfig.AccessType.RESTRICTED,
            entry_point_access=meet_v2.SpaceConfig.EntryPointAccess.ALL,
        ),
    )
    update_mask = field_mask_pb2.FieldMask(
        paths=["config.access_type", "config.entry_point_access"]
    )
    request = meet_v2.UpdateSpaceRequest(
        space=space,
        update_mask=update_mask
    )
    response = client.update_space(request=request)
    print(f"Updated space: {response.name}")
    return response

Apps 脚本

function configureSpaceAccess(spaceName) {
  const baseUrl = 'https://meet.googleapis.com/v2/';
  const mask = 'updateMask=config.accessType,config.entryPointAccess';
  const response = UrlFetchApp.fetch(`${baseUrl}${spaceName}?${mask}`, {
    method: 'patch',
    contentType: 'application/json',
    headers: {
      Authorization: 'Bearer ' + ScriptApp.getOAuthToken(),
    },
    payload: JSON.stringify({
      config: {
        accessType: 'RESTRICTED',
        entryPointAccess: 'ALL',
      },
    }),
  });
  const space = JSON.parse(response.getContentText());
  Logger.log('Updated space: ' + space.name);
  return space;
}

cURL

curl -X PATCH \
  "https://meet.googleapis.com/v2/spaces/SPACE_NAME?updateMask=config.accessType,config.entryPointAccess" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "config": {
      "accessType": "RESTRICTED",
      "entryPointAccess": "ALL"
    }
  }'

ACCESS_TOKEN 替换为授予 API 访问权限的访问令牌。

将会议室名称替换为会议室的唯一服务器生成的 ID。

配置社区管理设置

如需主持会议,您可以使用 Moderation 对象设置 moderation 字段。当 moderation 模式为 on 时,会议组织者可以通过共同主持人管理(请参阅 spaces.members)和使用 moderationRestrictions 字段限制功能等功能来控制会议。如需详细了解成员,请参阅管理会议空间成员

如需在会议处于受限模式 (moderationon) 时定义功能限制,请使用 ModerationRestrictions 对象设置 moderationRestrictions 字段。这些限制规定了会议室中的哪些人有权发送聊天消息或回应,或者有权共享屏幕。

如需在 moderationRestrictions 字段中设置功能限制,请使用 RestrictionType 应用 chatRestrictionreactionRestrictionpresentRestriction。 设置为 HOSTS_ONLY 可将权限应用于会议组织者和共同主持人,设置为 NO_RESTRICTION 可将权限应用于所有参与者。

如需将分配给用户的默认角色限制为查看者,请使用 DefaultJoinAsViewerType 设置 defaultJoinAsViewerType 字段。如果 defaultJoinAsViewerTypeon,则用户以观看者身份加入。如果为 off,用户将以贡献者身份加入。默认值为 off。如果用户在 spaces.members 中设置了明确的角色,则用户将以该角色加入。

配置出席情况报告

如需为会议空间创建出席情况报告,请使用 AttendanceReportGenerationType 对象设置 attendanceReportGenerationType 字段。如果会议组织者请求生成报告,Google Meet 会将出席情况报告保存到会议组织者的 Google 云端硬盘,并发送一封电子邮件。

管理自动制品

会议组织者(而非共同主持人)可以在会议空间内预先配置自动录制、自动转写和智能会议记录。启用这些设置后,系统会自动录制会议室中的内容、生成转写内容,以及记录会议记录并将其整理到 Google 文档中。每项功能都是独立的,并且是按会议空间设置的。 录制字幕功能仅支持英语。

您可以在创建会议空间时或创建会议空间后预先配置自动生成的内容。这两种方法都需要 meetings.space.settings OAuth 范围。如需了解详情,请参阅按使用情形划分的 OAuth 范围

您还可以为通过 Google 日历创建的会议设置自动生成制品。

如需设置自动制品,请使用 SpaceConfig 对象中的 ArtifactConfig 对象。ArtifactConfigrecordingConfigtranscriptionConfigsmartNotesConfig 字段组成。

每个字段都映射到类似的对象,例如 RecordingConfigTranscriptionConfigSmartNotesConfig。如需设置每个对象,请使用 AutoGenerationType 切换配置对象 onoff

如需检索会议期间创建的制品,请参阅处理制品

转写内容和智能会议记录之间的区别

虽然会议转写和智能会议记录(也称为“帮我记笔记”)都能捕获会议中的信息,但这些功能有不同的用途,并会生成不同的数据制品。

下表显示了它们之间的区别:

功能 解说词 智能会议记录
概览 逐字逐句的记录。 由 Gemini 生成的要点简明摘要。
详细程度 100% 细节。所有对话内容都会被记录下来。 高级。侧重于决策和待办项。
用例 法律合规性、检查确切引用和用户无障碍功能。 让迟到的参与者能够立即跟上进度;自动执行会议记录和项目跟踪。
实时用量 用于字幕。该文件是在通话结束后生成的。 通话期间,您可以在侧边栏中查看摘要生成情况。
输出 包含发言者姓名和时间戳的长篇 Google 文档。 一份简洁的 Google 文档,其中包含会议记录、部分和项目符号。
引用 包含可链接到的全文。 如果同时启用了转写和智能会议记录,则会包含引用内容(时间戳),这些内容会链接回转写文稿中的特定时刻,以便提供背景信息。如需了解详情,请参阅同时启用这两项功能时

同时启用这两项功能时

虽然每项功能都可以单独使用,但转写和智能会议记录也可以同时使用,以便创建更优质的会议后制品。

同时启用这两项功能后,您会在生成的智能会议记录文档中看到引用内容。这些引用内容贯穿整个详细信息部分,并链接到会议转写文稿中的具体时间戳。点击这些引用内容后,您可以直接跳转到转写文稿中的相关部分,更深入地了解会议内容。

在会议期间,参与者会看到指示器,表明这两项功能均处于活动状态。 在会议期间,它们必须保持有效状态,才能生成可点击的引用。即使文件相互关联,系统仍会在宿主的云端硬盘中生成两个不同的文档。这两个文件也会自动附加到日历活动中。

如需详细了解会议室和设置所需的 OAuth 范围,请参阅按使用情形列出的 OAuth 范围