dropbox-api

Dropbox API

드롭박스(Dropbox)의 개발자 플랫폼인 DBX Platform을 소개하는 페이지예요. 전 세계 7억 명이 넘는 드롭박스 사용자를 대상으로 하는 앱을 만들 때, 파일 저장·공유·미리보기·검색 같은 드롭박스 기능을 내 앱에 바로 붙일 수 있어요. 공식 SDK와 잘 정리된 문서 덕분에 적은 코드로 빠르게 구현할 수 있고, 비즈니스 워크플로우 최적화를 위한 팀·관리 기능도 활용할 수 있어요.

출처: 문서

본문

드롭박스 API는 뭘 할 수 있나요?

  • 드롭박스 계정과 연동하기Files APIPaper API로 파일·폴더를 만들고, 읽고, 수정하고, 이동하고, 삭제할 수 있어요. 파일에 변화가 생기면 **웹훅(webhook)**으로 알림을 받고, Chooser & Saver 컴포넌트로 사용자가 드롭박스에서 콘텐츠를 선택·저장하게 할 수 있어요.
  • 워크플로우 만들고 커스터마이즈하기File Properties API로 커스텀 메타데이터 라벨을 붙이고, File Requests API로 문서 수집을 자동화하며, Sharing API로 공유 링크·공유 폴더를 프로그래밍 방식으로 만들 수 있어요.
  • 접근 권한 제어하기Dropbox Business APIs로 관리자 기능과 사용자·팀 관리를 추가하고, Events API로 팀 감사 로그를 모니터링하며, Team Folders API로 팀 콘텐츠를 정리할 수 있어요.
  • 전자서명(esignature) — 개발자를 위한 유연한 Dropbox Sign API로 전자서명 기능을 내 앱에 넣을 수 있어요.

제공되는 SDK

Swift, .NET, Java, JavaScript, Objective-C, Python SDK를 지원해요. 원하는 언어가 없다면 HTTP 문서와 커뮤니티 SDK를 확인해요.

인증: OAuth 2.0

드롭박스 API는 OAuth 2.0 기반으로 인증해요. 서버에서 실행되는 앱에는 Authorization Code flow가 권장되고, 모바일·데스크톱·브라우저 자바스크립트 같은 클라이언트 앱에는 더 안전한 PKCE flow가 권장돼요. 인증 흐름은 /oauth2/authorize 페이지에서 사용자가 로그인·승인한 뒤 redirect_uri로 돌아오고, /oauth2/token에서 액세스 토큰을 발급받아요.

(OAuth는 권한 부여 프로토콜이지 인증 프로토콜이 아니에요. 드롭박스를 신원 제공자(identity provider)로 쓰려면 Dropbox OpenID Connect 가이드를 참고해요.)

파일 업로드 (files/upload)

files/upload 엔드포인트는 파일 바이너리를 요청 본문에 실어 보내고, 경로 등 인자는 Dropbox-API-Arg 헤더에 JSON으로 담아요.

curl -X POST https://content.dropboxapi.com/2/files/upload \
    --header "Authorization: Bearer <get access token>" \
    --header "Dropbox-API-Arg: {\"autorename\":false,\"mode\":\"add\",\"mute\":false,\"path\":\"/Homework/math/Matrices.txt\",\"strict_conflict\":false}" \
    --header "Content-Type: application/octet-stream" \
    --data-binary @local_file.txt

주요 파라미터:

  • path — 드롭박스 안에서 파일을 저장할 경로예요.
  • mode — 이미 파일이 존재할 때 어떻게 처리할지 정해요 (기본값 add).
  • autorename — 충돌이 나면 서버가 자동으로 파일 이름을 바꿀지 정해요.
  • content_hash — 업로드된 파일 내용의 해시예요. 제공한 해시와 실제 내용이 다르면 오류를 반환해요.

파일 다운로드 (files/download)

files/download 엔드포인트는 받을 파일 경로를 Dropbox-API-Arg 헤더에 담아요.

curl -X POST https://content.dropboxapi.com/2/files/download \
    --header "Authorization: Bearer <get access token>" \
    --header "Dropbox-API-Arg: {\"path\":\"/Homework/math/Prime_Numbers.txt\"}"

경로는 경로 문자열(/Homework/math/Prime_Numbers.txt), 파일 id(id:a4ayc_80_OEAAAAAAAAAYa), 또는 리비전(rev:a1c10ce0dd78)으로 지정할 수 있어요.

큰 파일 업로드 (upload_session)

파일이 크면 files/upload_session/start로 세션을 열고, files/upload_session/append로 조각을 이어 붙인 뒤, files/upload_session/finish로 세션을 마무리하는 청크(chunk) 업로드 방식을 써요.

웹훅 (Webhooks)

드롭박스 계정의 파일·폴더에 변화가 생기면 사용자 등록 웹훅(/webhooks)으로 알림을 받을 수 있어요. 변화 감지 후에는 files/list_folderfiles/list_folder/longpoll을 조합해 실제 변경 내역을 가져오는 게 일반적인 패턴이에요.

Dropbox Sign API

Dropbox Sign은 개발자를 위한 유연한 전자서명 API로, 애플리케이션에 전자서명 기능을 통합할 수 있어요. Dropbox Sign eSignature API로 바로 시작할 수 있어요.

더 알아보기 (Learn more)