✅ 사용할 수 있는 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)
댓글 남기기