Skip to content

SDK

JavaScript SDKは、サーバーサイドのJavaScriptまたはTypeScriptからYouViCo APIを呼び出す最も簡単な方法です。HTTP APIの上に、APIキー認証、型付きのリクエストパラメータとレスポンス型、タイムアウト、エラー処理、マルチパートファイルアップロードヘルパーを提供します。

WARNING

APIキーは秘密情報です。SDKは信頼できるサーバーサイドコードでのみ使用し、ブラウザーコードや公開リポジトリにAPIキーを含めないでください。

インストール

bash
pnpm add @youvico/api
bash
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リファレンスページには CLISDKcURL の例があり、コマンドラインのワークフロー、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 オプションには BlobBufferArrayBufferUint8Arraystring も渡せます。

エラーを処理する

成功しなかった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いいえすべてのリクエストに追加するヘッダー