如何获取企业组织内Google Meet已上传录制会议的总分钟数
Google Meet组织录制总时长统计可行方案
方案1:Admin SDK Reports API自动统计
- 调用Admin SDK Reports API的
customerUsageReports.get接口,设置applicationName=meet参数拉取指定时间范围内的全量组织Meet会议记录 - 返回的每条会议记录包含两个关键字段:
meeting_record_status:值为uploaded时对应录制状态为已上传meeting_duration_seconds:对应单场会议时长,单位为秒
- 遍历所有返回记录,筛选出
meeting_record_status=uploaded的条目,累加对应meeting_duration_seconds数值后换算为分钟即可得到总录制时长 - 注意事项:
- 调用接口需要使用拥有报告读取权限的Google Workspace管理员账号生成OAuth2凭证
- 接口默认单页返回最多10万条记录,组织会议量较大时需要使用分页参数逐页拉取
- Meet使用数据仅保留6个月,统计更早时间范围的数据需要导出管理员审计日志后统计
示例核心调用代码:
from googleapiclient.discovery import build from google.oauth2 import service_account # 凭证配置,需提前开启Admin SDK API并配置权限 SCOPES = ['https://www.googleapis.com/auth/admin.reports.usage.readonly'] credentials = service_account.Credentials.from_service_account_file( 'service-account-key.json', scopes=SCOPES, subject='your-admin-account@your-domain.com' ) service = build('admin', 'reports_v1', credentials=credentials) # 拉取指定时间范围内的Meet会议数据 response = service.customerUsageReports().get( applicationName='meet', startTime='2024-01-01T00:00:00Z', endTime='2024-06-01T00:00:00Z' ).execute() total_recording_seconds = 0 for meeting in response.get('items', []): record_status = None duration = 0 for param in meeting['parameters']: if param['name'] == 'meeting_record_status': record_status = param['value'] if param['name'] == 'meeting_duration_seconds': duration = int(param['value']) if record_status == 'uploaded': total_recording_seconds += duration total_recording_minutes = total_recording_seconds // 60 print(f"已上传录制会议总分钟数:{total_recording_minutes}")
方案2:手动导出表格统计(无开发需求)
- 打开Google Meet Quality Tool页面,筛选录制状态为「已上传」的会议列表
- 导出筛选后的列表为CSV格式文件
- 使用Excel、Google Sheets等表格工具打开文件,直接对Length列求和即可得到总时长,也可自行编写简单脚本处理CSV文件完成统计
内容的提问来源于stack exchange,提问作者auxburg
相关产品推荐
相关产品推荐

