TypeScript SDK
SDK v5 が登場しました。完全に再設計されています
TypeScript SDK は、Meeting BaaS API との統合を支援する公式サポートパッケージです。Google Meet、Zoom、Microsoft Teams にわたるミーティングの自動化を実現するユニバーサルインターフェースです。
🚀 v5.0.0 の新機能: TypeScript サポートの強化、エラー処理の改善、開発者体験の向上を含む完全なアーキテクチャの再設計が行われました。アップグレード手順については 移行ガイド をご参照ください。
- 包括的な TypeScript 定義による完全な型安全性
- OpenAPI 仕様と同期した自動アップデート
- すべてのミーティング自動化機能への簡素化されたアクセス
- サポートされているすべてのミーティングプロバイダーにわたるクロスプラットフォームの一貫性
- 判別ユニオンレスポンスによる強化されたエラー処理
- 自動 Zod schema バリデーションによるパラメータ検証
- パフォーマンス向上のためのツリーシェイク可能なバンドル
主な機能
- BaaS API クライアント: Meeting BaaS API との対話のための厳密に型付けされた関数
- Bot 管理: プラットフォームをまたいだミーティング bot の作成、参加、管理
- カレンダー連携: カレンダーの接続とミーティング録画の自動スケジュール設定
- 完全な API カバレッジ: すべての Meeting BaaS API endpoint へのアクセス
- TypeScript サポート: すべての API に対する完全な TypeScript 定義
- 強化されたエラー処理: 型安全なエラー処理のための判別ユニオンレスポンス
- パラメータ検証: すべての API 呼び出しに対する自動 Zod schema バリデーション
- ツリーシェイク可能: 必要なメソッドのみをインポート可能
- 包括的なテスト: MSW モッキングによる完全なテストカバレッジ
システム要件
- Node.js: バージョン 18.0.0 以上
- パッケージマネージャー: npm、yarn、または pnpm
テスト済み Node.js バージョン: 18、19、20、21、22
インストール
お好みのパッケージマネージャーを使用して Meeting BaaS SDK をインストールしてください:
npm install @meeting-baas/sdkyarn add @meeting-baas/sdkpnpm add @meeting-baas/sdkクイックスタート
API キーを使用して BaaS クライアントの新しいインスタンスを作成します:
import { createBaasClient } from "@meeting-baas/sdk";
// Create a BaaS client
const client = createBaasClient({
api_key: "your-api-key", // Get yours at https://meetingbaas.com
});
async function example() {
// Join a meeting
const { success, data, error } = await client.joinMeeting({
bot_name: "Meeting Assistant",
meeting_url: "https://meet.google.com/abc-def-ghi",
reserved: true,
});
if (success) {
console.log("Bot joined successfully:", data.bot_id);
} else {
console.error("Error joining meeting:", error);
}
}import { createBaasClient } from "@meeting-baas/sdk";
const client = createBaasClient({
api_key: "your-api-key",
timeout: 60000
});
async function comprehensiveExample() {
// Join a meeting with all options
const joinResult = await client.joinMeeting({
meeting_url: "https://meet.google.com/abc-defg-hij",
bot_name: "Advanced Test Bot",
reserved: false,
bot_image: "https://example.com/bot-image.jpg",
enter_message: "Hello from the advanced test bot!",
extra: { test_id: "advanced-example" },
recording_mode: "speaker_view",
speech_to_text: { provider: "Gladia" },
webhook_url: "https://example.com/webhook"
});
if (joinResult.success) {
const botId = joinResult.data.bot_id;
console.log("Bot joined with ID:", botId);
// Get meeting data with transcripts
const meetingDataResult = await client.getMeetingData({
bot_id: botId,
include_transcripts: true
});
if (meetingDataResult.success) {
console.log("Meeting duration:", meetingDataResult.data.duration);
}
}
}カレンダー連携
SDK は完全なカレンダー連携機能を提供します:
import { createBaasClient } from "@meeting-baas/sdk";
const client = createBaasClient({
api_key: "your-api-key",
});
// Create a calendar integration
const calendarResult = 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",
});
if (calendarResult.success) {
console.log("Calendar created:", calendarResult.data);
// List all calendars
const calendarsResult = await client.listCalendars();
if (calendarsResult.success) {
console.log("All calendars:", calendarsResult.data);
}
// List events from a calendar
const eventsResult = await client.listCalendarEvents({
calendar_id: calendarResult.data.calendar.uuid,
start_date_gte: new Date().toISOString(),
start_date_lte: new Date(Date.now() + 7 * 24 * 60 * 60 * 1000).toISOString()
});
if (eventsResult.success) {
console.log("Events:", eventsResult.data);
}
}エラー処理
SDK は判別ユニオンレスポンスによる型安全なエラー処理を提供します:
import { createBaasClient } from "@meeting-baas/sdk";
const client = createBaasClient({
api_key: "your-api-key",
});
const result = await client.joinMeeting({
meeting_url: "https://meet.google.com/abc-def-ghi",
bot_name: "My Bot",
reserved: false
});
if (result.success) {
// TypeScript knows result.data is JoinResponse
console.log("Bot ID:", result.data.bot_id);
} else {
// TypeScript knows result.error is ZodError | Error
if (result.error instanceof ZodError) {
console.error("Validation error:", result.error.errors);
} else {
console.error("API error:", result.error.message);
}
}v4.x からの移行
v4.x からアップグレードする場合は、詳細な移行手順について 移行ガイド をご参照ください。