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 Base URL 재정의 |
fetch | 아니오 | 사용자 정의 fetch 구현 |
timeoutMs | 아니오 | 요청 타임아웃(ms) |
headers | 아니오 | 모든 요청에 추가할 헤더 |