Calendars API

カレンダーを同期してミーティングの録画を自動化する

Calendars APIを使用すると、OutlookおよびGoogle Workspaceのカレンダーを自動的に同期し、スケジュールされたミーティングにbotをdeployできます。

これにより、以下が簡単になります:

  • 手動介入なしでミーティングの録画と参加を自動化する
  • Google WorkspaceとMicrosoft Outlookの両方のカレンダーに接続する
  • カレンダーイベントが変更された際にリアルタイムの更新を受け取る
  • どのミーティングを録画するかを決定するビジネスロジックを適用する

このAPIはシンプルなパターンに従っており、カレンダープロバイダーへの接続、イベントの一覧表示と管理、ミーティング発生時の録画botの自動スケジュールが可能です。

主な機能

  • マルチカレンダー対応: Google WorkspaceとMicrosoft Outlookの両方のカレンダーに接続
  • OAuth認証: OAuthを使用したカレンダープロバイダーとの安全な連携
  • リアルタイムWebhook: カレンダーイベントの変更時に即座に通知を受信
  • 選択的録画: どのミーティングを録画するかを独自のビジネスルールで決定
  • Bot設定: 各ミーティングの録画設定をカスタマイズ
  • 定期ミーティング対応: 定期的なミーティングシリーズを効率的に処理

実装プロセス

  • 認証設定: OAuth認証情報を使用してカレンダーを接続
  • カレンダー選択: 同期するカレンダーを選択
  • イベント管理: カレンダーイベントの一覧表示、フィルタリング、処理
  • 録画設定: 特定のミーティングにbotをスケジュール
  • Webhook処理: リアルタイムのカレンダー更新を受信して処理
  • メンテナンス: 認証情報の更新とエラー回復を処理

API の使用方法

Calendars APIはMeeting BaaSプラットフォームの一部であり、以下のendpointを提供します:

  • カレンダー連携の作成と管理
  • カレンダーイベントの一覧表示とフィルタリング
  • 特定のミーティングへの録画botのスケジュール
  • リアルタイム更新のためのwebhook管理

このAPIは完全にドキュメント化されており、JSONのpayloadを使用した標準的なRESTオペレーションをサポートしています。認証はMeeting BaaSのAPIキーと、カレンダープロバイダーアクセス用のOAuth tokenを使用して行われます。

API 使用例

以下は、Calendars APIを使用してチームミーティングにbotをスケジュールする例です:

このコードは、Calendars APIを使用してイベントを取得し、録画botをスケジュールする方法を示しています。

calendars_api.ts
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);
}
create_calendar.sh
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"
  }'

カレンダーイベントの一覧表示

接続されたカレンダーからイベントを取得する方法を示します:

list_events.ts
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を自動スケジュールする:

schedule_recording.ts
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);
}
Meeting BaaS API Preview Features

はじめに

カレンダー連携でミーティングの録画を自動化する準備はできましたか?包括的なドキュメントをご確認ください: