SDK
JavaScript SDKは、サーバーサイドのJavaScriptまたはTypeScriptからYouViCo APIを呼び出す最も簡単な方法です。HTTP APIの上に、APIキー認証、型付きのリクエストパラメータとレスポンス型、タイムアウト、エラー処理、マルチパートファイルアップロードヘルパーを提供します。
WARNING
APIキーは秘密情報です。SDKは信頼できるサーバーサイドコードでのみ使用し、ブラウザーコードや公開リポジトリにAPIキーを含めないでください。
インストール
bash
pnpm add @youvico/apibash
npm install @youvico/apiクライアントを作成する
ts
import { Client } from "@youvico/api";
const client = new Client({
apiKey: process.env.YOUVICO_API_KEY!,
});エンドポイントを呼び出す
SDKはリソースごとにエンドポイントをまとめています。
ts
const projects = await client.projects.search({
query: "launch",
});
const folders = await client.folders.list("bdbff5de-96d7-468f-9db0-85fe28bd6b62");
const comments = await client.comments.list("FX1234567890ABCD");各APIリファレンスページには CLI、SDK、cURL の例があり、コマンドラインのワークフロー、SDK呼び出し、生のHTTPリクエストをタブで切り替えて確認できます。
ファイルをアップロードする
ほとんどのファイルアップロードでは files.upload を使用してください。マルチパートアップロードの開始、各パートのアップロード、アップロード完了をSDKが処理します。
ts
const uploaded = await client.files.upload("bdbff5de-96d7-468f-9db0-85fe28bd6b62", {
name: "launch.mp4",
path: "/Users/me/videos/launch.mp4",
});data オプションには Blob、Buffer、ArrayBuffer、Uint8Array、string も渡せます。
エラーを処理する
成功しなかったAPIレスポンスは YouvicoError をthrowします。
ts
import { YouvicoError } from "@youvico/api";
try {
await client.projects.get("bdbff5de-96d7-468f-9db0-85fe28bd6b62");
} catch (error) {
if (error instanceof YouvicoError) {
console.error(error.status, error.code, error.message);
}
throw error;
}クライアントオプション
ts
const client = new Client({
apiKey: process.env.YOUVICO_API_KEY!,
timeoutMs: 30_000,
});| オプション | 必須 | 説明 |
|---|---|---|
apiKey | はい | リクエスト認証に使うYouViCo APIキー |
baseUrl | いいえ | APIベースURLを上書きします |
fetch | いいえ | カスタム fetch 実装 |
timeoutMs | いいえ | リクエストタイムアウト(ミリ秒) |
headers | いいえ | すべてのリクエストに追加するヘッダー |