配置会议空间设置

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

使用 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(),