You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Google Meet API实现会议自动录制?(Node.js开发场景)

解决Google Meet会议自动录制的思路(Node.js)

核心说明

Google Meet API(通过Calendar创建会议)本身不支持在创建会议时直接开启自动录制,需要通过Meet录制控制API在会议创建后触发录制,或者通过Workspace Admin设置全局规则。以下是具体实现方案:


1. 权限准备

确保你的OAuth 2.0客户端已申请以下scope:

  • https://www.googleapis.com/auth/meetings.space.created(创建Meet会议)
  • https://www.googleapis.com/auth/meet.recordings(启动/管理录制)
  • 若结合Calendar API创建会议,还需https://www.googleapis.com/auth/calendar.events

2. 方案一:创建会议后立即启动录制(推荐)

创建Meet会议后,你会获得会议的spaceName(格式为spaces/{meeting-code}),通过调用Meet录制API启动录制。

Node.js代码示例

const fetch = require('node-fetch');

// 启动录制的函数
async function startMeetRecording(spaceName, authToken) {
  try {
    const res = await fetch(`https://meet.googleapis.com/v1/${spaceName}/recordings:start`, {
      method: 'POST',
      headers: {
        'Authorization': `Bearer ${authToken}`,
        'Content-Type': 'application/json'
      },
      body: JSON.stringify({
        // 可选:指定录制保存到Drive的特定文件夹
        driveDestination: {
          parentFolderId: 'YOUR_DRIVE_FOLDER_ID'
        }
      })
    });

    if (!res.ok) {
      const errData = await res.json();
      throw new Error(`录制启动失败: ${errData.error.message}`);
    }

    const recordingData = await res.json();
    console.log('录制已启动:', recordingData);
    return recordingData;
  } catch (err) {
    console.error('启动录制出错:', err);
    throw err;
  }
}

// 调用示例(假设你已创建会议并拿到spaceName和authToken)
// startMeetRecording('spaces/abc123xyz', 'YOUR_OAUTH_TOKEN');

关键注意事项

  • 录制启动时机:无需等待参与者加入,创建会议后即可调用该API,会议开始后会自动开始录制
  • 录制权限:调用账号必须是会议创建者,且所在Workspace已开启Meet录制功能(个人账号可能不支持自动录制)
  • 保存位置:默认录制文件会存入创建者Drive的「Meet Recordings」文件夹,可通过driveDestination指定自定义文件夹

3. 方案二:Workspace全局强制录制(适合组织场景)

如果你的应用面向Google Workspace组织用户,可通过Admin SDK设置规则,让特定账号创建的所有Meet会议自动录制:

  • 登录Workspace Admin控制台,进入「Meet > 录制」设置
  • 开启「自动录制所有会议」,并指定适用的组织单元或用户组

该方案无需额外代码开发,但缺乏单会议的灵活控制。


补充:确认匿名参与者设置

你提到需要支持匿名参与者,确保创建会议时在Calendar Event的conferenceData中添加allowAnonymousUsers: true:

// 创建Calendar Event时的会议配置
conferenceData: {
  createRequest: {
    requestId: 'unique-random-id',
    conferenceSolutionKey: { type: 'hangoutsMeet' },
    allowAnonymousUsers: true // 允许匿名参会
  }
}

内容的提问来源于stack exchange,提问作者LEO SMITH

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 03:12:40