✅ 사용할 수 있는 API 종류
Databases API: DB 구조 및 속성 정의된 테이블 접근
Pages API: DB에 속한 각 Row(Page) 접근
Blocks API: 블록 콘텐츠 (텍스트, 이미지 등) 관리
Users API: 사용자 정보 접근
Search API: 특정 키워드로 DB/페이지 탐색
✅ 예시: Python으로 Notion DB에 쓰기
import requests NOTION_TOKEN = "secret_xxxxxxxxx" DATABASE_ID = "your-database-id" headers = { "Authorization": f"Bearer {NOTION_TOKEN}", "Content-Type": "application/json", "Notion-Version": "2022-06-28" } data = { "parent": { "database_id": DATABASE_ID }, "properties": { "이름": { "title": [{ "text": { "content": "새로운 항목" } }] }, "상태": { "select": { "name": "진행중" } } } } response = requests.post( "https://api.notion.com/v1/pages", headers=headers, json=data ) print(response.status_code) print(response.json())
✅ 주의할 점
항목
관계형 제약 없음 Foreign Key, Join 같은 기능은 직접 구현해야 함 (Relation + Rollup 활용 가능)
쿼리 제한 필터, 정렬은 제공되나 SQL 수준의 자유로운 쿼리는 불가
속도 대량의 데이터 조회/수정에는 한계 (속도가 느림)
유료 요금 제팀 기반 자동화나 다중 API 사용 시에는 유료 플랜 필요
실시간성 Webhook이 없어 실시간 알림은 구현 어려움 (폴링으로 대체)
✅ 실제 활용 예
활용 목적
블로그 CMS Markdown → Notion DB 자동 등록
일정 자동 등록 Google Calendar → Notion 등록
작업 관리 Github 이슈를 Notion으로 자동 동기화
고객 DB Form → Notion → CRM 관리
백엔드 간단한 데이터 저장소로 사용 (외부 백엔드에서 연동)
댓글 ( 0)
댓글 남기기