[python] FastAPI와 Vimeo API의 연동

FastAPI는 빠르고 고성능의 웹 API를 쉽게 개발할 수 있는 Python 웹 프레임워크입니다. Vimeo는 동영상 호스팅 플랫폼으로, Vimeo API를 통해 동영상 업로드, 관리 등의 기능을 제공합니다. 이번 포스트에서는 FastAPI와 Vimeo API를 연동하여 동영상 업로드를 진행하는 방법에 대해 알아보겠습니다.

1. Vimeo API 액세스 토큰 획득

Vimeo API를 사용하기 위해서는 먼저 Vimeo API의 액세스 토큰을 획득해야 합니다. 이를 위해 Vimeo 개발자 계정을 생성하고 API 액세스를 요청해야 합니다.

2. FastAPI 프로젝트 생성

FastAPI 프로젝트를 생성하고 필요한 패키지들을 설치합니다.

pip install fastapi
pip install httpx

3. Vimeo API와 연동

3.1. HTTPX를 사용하여 Vimeo API 호출

HTTPX 패키지를 사용하여 Vimeo API를 호출하여 동영상을 업로드합니다.

import httpx

vimeo_access_token = "your_vimeo_access_token"
url = "https://api.vimeo.com/me/videos"

headers = {
    "Authorization": f"Bearer {vimeo_access_token}",
}

video_file_path = "path_to_your_video_file"

with open(video_file_path, "rb") as video_file:
    files = {"file": video_file}
    response = httpx.post(url, headers=headers, files=files)

print(response.json())

3.2. FastAPI를 사용하여 업로드 엔드포인트 생성

FastAPI를 사용하여 업로드를 위한 엔드포인트를 생성합니다.

from fastapi import FastAPI
from fastapi import UploadFile, File

app = FastAPI()

@app.post("/upload/")
async def upload_video(file: UploadFile = File(...), access_token: str):
    url = "https://api.vimeo.com/me/videos"
    
    headers = {
        "Authorization": f"Bearer {access_token}",
    }

    with httpx.Client() as client:
        files = {"file": file.file}
        response = client.post(url, headers=headers, files=files)

    return response.json()

결론

이렇게 함으로써 FastAPI와 Vimeo API를 연동하여 동영상 업로드 기능을 구현할 수 있습니다. FastAPI의 빠르고 간편한 API 작성 방식과 Vimeo의 강력한 동영상 업로드 기능을 활용하여 다양한 멀티미디어 서비스를 제공할 수 있습니다.

더 자세한 내용은 Vimeo API 문서FastAPI 공식 문서를 참고할 수 있습니다.