日历 API
同步日历并自动化会议录制
日历 API 允许你自动同步 Outlook 和 Google Workspace 的日历,从而向已安排的会议部署 bot。
这使以下操作变得简单:
- 无需人工干预,自动录制会议并参与其中
- 同时连接 Google Workspace 和 Microsoft Outlook 日历
- 当日历事件发生变更时,实时接收更新
- 应用业务逻辑来决定录制哪些会议
该 API 遵循简单的模式,允许你连接日历提供商、列出并管理事件,以及在会议发生时自动调度录制 bot。
核心功能
- 多日历支持: 同时连接 Google Workspace 和 Microsoft Outlook 日历
- OAuth 认证: 使用 OAuth 与日历提供商进行安全集成
- 实时 Webhook: 当日历事件发生变更时,立即接收通知
- 选择性录制: 实现自定义业务规则,决定录制哪些会议
- Bot 配置: 为每场会议自定义录制设置
- 循环会议支持: 高效处理循环会议系列
实施流程
- 认证设置: 使用 OAuth 凭据连接日历
- 日历选择: 选择要同步的日历
- 事件管理: 列出、筛选并处理日历事件
- 录制配置: 为特定会议调度 bot
- Webhook 处理: 接收并处理实时日历更新
- 维护: 处理凭据刷新和错误恢复
API 使用
日历 API 是 Meeting BaaS 平台的一部分,提供以下 endpoint:
- 创建和管理日历集成
- 列出并筛选日历事件
- 为特定会议调度录制 bot
- 管理用于实时更新的 webhook
该 API 已完整记录文档,支持标准 REST 操作,使用 JSON payload。认证方式为:使用你的 Meeting BaaS API key,以及用于访问日历提供商的 OAuth token。
API 使用示例
以下示例演示如何使用日历 API 为团队会议调度 bot:
此代码演示了如何与日历 API 交互以检索事件并调度录制 bot。
import { createBaasClient } from "@meeting-baas/sdk";
const client = createBaasClient({
api_key: "your-api-key",
timeout: 30000 // optional, default: 30000
});
const { success, data, error } = await client.createCalendar({
oauth_client_id: "your-oauth-client-id",
oauth_client_secret: "your-oauth-client-secret",
oauth_refresh_token: "your-oauth-refresh-token",
platform: "Google",
raw_calendar_id: "optional-calendar-id"
});
if (success) {
console.log("Calendar created:", data.calendar.name);
console.log("Calendar UUID:", data.calendar.uuid);
} else {
console.error("Error creating calendar:", error);
}curl -X POST "https://api.meetingbaas.com/calendars/" \
-H "x-meeting-baas-api-key: <token>" \
-H "Content-Type: application/json" \
-d '{
"oauth_client_id": "string",
"oauth_client_secret": "string",
"oauth_refresh_token": "string",
"platform": "Google",
"raw_calendar_id": "string"
}'列出日历事件
以下是从已连接日历中检索事件的方法:
import { createBaasClient } from "@meeting-baas/sdk";
const client = createBaasClient({
api_key: "your-api-key"
});
// List events from a specific calendar
const { success, data, error } = await client.listCalendarEvents({
calendar_uuid: "your-calendar-uuid",
start_time: "2024-01-01T00:00:00Z",
end_time: "2024-01-31T23:59:59Z"
});
if (success) {
console.log("Events found:", data.events.length);
data.events.forEach(event => {
console.log(`- ${event.summary} (${event.start_time})`);
});
} else {
console.error("Error listing events:", error);
}为事件调度录制
自动为即将举行的会议调度 bot:
import { createBaasClient } from "@meeting-baas/sdk";
const client = createBaasClient({
api_key: "your-api-key"
});
// Schedule recording for a specific calendar event
const { success, data, error } = await client.scheduleRecording({
calendar_uuid: "your-calendar-uuid",
event_id: "event-id-from-calendar",
bot_config: {
bot_name: "Meeting Recorder",
recording_mode: "speaker_view",
speech_to_text: {
provider: "Default"
}
}
});
if (success) {
console.log("Recording scheduled:", data.scheduled_recording.id);
} else {
console.error("Error scheduling recording:", error);
}
开始使用
准备好通过日历集成自动化你的会议录制了吗?请查阅我们的完整文档: