SDK
JavaScript SDKを使うと、サーバーサイドのJavaScriptまたはTypeScriptからYouViCo APIを簡単に呼び出せます。APIキー認証、型付きのリクエストパラメータとレスポンス、タイムアウト、エラー処理、マルチパートファイルアップロードヘルパーを提供します。
WARNING
APIキーは秘密情報です。SDKは信頼できるサーバーサイドコードでのみ使用し、ブラウザーコードや公開リポジトリにAPIキーを含めないでください。
インストール
pnpm add @youvico/apinpm install @youvico/apiクライアントを作成する
import { Client } from "@youvico/api";
const client = new Client({
apiKey: process.env.YOUVICO_API_KEY!,
});エンドポイントを呼び出す
SDKはリソースごとにエンドポイントをまとめています。
const projects = await client.projects.search({
query: "launch",
});
const folders = await client.folders.list("bdbff5de-96d7-468f-9db0-85fe28bd6b62");
const comments = await client.comments.listForFile("FX1234567890ABCD");APIリファレンスページでは、各エンドポイントで利用できる CLI、SDK、cURL の例を示しているため、対応するインターフェースを選択できます。
ファイルをアップロードする
ほとんどのファイルアップロードでは files.upload を使用してください。マルチパートアップロードの開始、各パートのアップロード、アップロード完了をSDKが処理します。
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 も渡せます。
コメント添付ファイルをアップロードする
ファイルコメントには commentAttachments.uploadForFile、プロジェクトコメントには commentAttachments.uploadForProject を使用します。このヘルパーはマルチパートアップロードを開始し、すべてのパートをアップロードしてから添付ファイルアップロードを完了します。
このヘルパーは path と data 入力をサポートします。data にはファイルアップロードと同様に Blob、Buffer、ArrayBuffer、Uint8Array、string を渡せます。
const attachment = await client.commentAttachments.uploadForFile("FX1234567890ABCD", {
name: "review-note.pdf",
path: "/Users/me/documents/review-note.pdf",
});
await client.comments.createForFile("FX1234567890ABCD", {
content: "レビュー用のメモを追加しました。",
attachments: [{ id: attachment.id }],
});エラーを処理する
成功しなかったAPIレスポンスは YouvicoError をスローします。
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;
}クライアントオプション
const client = new Client({
apiKey: process.env.YOUVICO_API_KEY!,
timeoutMs: 30_000,
});| オプション | 必須 | 説明 |
|---|---|---|
apiKey | はい | リクエスト認証に使うYouViCo APIキー |
baseUrl | いいえ | API Base URLを上書きします |
fetch | いいえ | カスタム fetch 実装 |
timeoutMs | いいえ | リクエストタイムアウト(ミリ秒) |
headers | いいえ | すべてのリクエストに追加するヘッダー |