1️⃣ Notion에서 블로그 데이터베이스 생성
먼저 Notion 안에 “게시글 목록”을 관리할 데이터베이스(Database) 를 만들어야 합니다.
방법
Notion 새 페이지를 만듭니다.
/table 입력 후 → “Table - Full page” 선택합니다.
(또는 “Database” → “Full Page Table”)이름을 예를 들어 Blog Posts 로 지정합니다.
이제 이 페이지가 여러분의 “게시글 데이터베이스”가 됩니다.
2️⃣ Database 속성(컬럼) 만들기
아래는 최소한 필요한 필드 목록입니다:
3️⃣ Notion API 키(NOTION_TOKEN) 생성
이건 Notion 개발자 통합(Integration) 에서 발급합니다.
발급 절차
"New Integration" 클릭
이름 예: MyBlogIntegration
워크스페이스 선택
권한은 "Read content" 정도면 충분합니다
생성 후, 아래와 같은 Secret Key 가 발급됩니다
secret_abc123xyz456...
이 값을 .env.local 파일에 다음과 같이 저장하세요 ????
NOTION_TOKEN=secret_abc123xyz456
4️⃣ 데이터베이스(Database ID) 가져오기
이건 Notion 데이터베이스 페이지의 URL에서 확인합니다.
방법
Blog Posts 페이지를 엽니다.
브라우저 주소창을 보면 아래와 같이 되어 있을 겁니다:
https://www.notion.so/yourworkspace/Blog-Posts-0b4e92ac4b7143f78a39b2cdefa6f0d8?pvs=4
여기서 0b4e92ac4b7143f78a39b2cdefa6f0d8 이 부분이 바로 Database ID입니다.
⚠️ 단, -(하이픈) 포함되어 있을 수도 있는데, 그대로 써도 됩니다.
예:
NOTION_DATABASE_ID=0b4e92ac4b7143f78a39b2cdefa6f0d8
5️⃣ 통합(Integration)을 데이터베이스에 연결
발급한 토큰이 이 데이터베이스에 접근할 수 있도록 “공유”해야 합니다.
방법
Blog Posts 데이터베이스 열기
오른쪽 상단 Share 버튼 클릭
“Add connections” 선택
목록에서 아까 만든 Integration (MyBlogIntegration) 선택
✅ 연결 완료되면, 해당 토큰으로 API 접근 가능
6️⃣ 최종 .env.local 설정 예시
NOTION_TOKEN=secret_abc123xyz456 NOTION_DATABASE_ID=0b4e92ac4b7143f78a39b2cdefa6f0d8
.env.local 은 루트 디렉토리에 저장하며,
절대 GitHub에 올리면 안 됩니다 (.gitignore에 포함시켜야 함)
✅ 테스트 방법
다음 코드로 연결 테스트를 할 수 있습니다
import { Client } from "@notionhq/client"; const notion = new Client({ auth: process.env.NOTION_TOKEN }); async function testConnection() { const response = await notion.databases.query({ database_id: process.env.NOTION_DATABASE_ID!, }); console.log(response.results); } testConnection();
콘솔에 데이터베이스 내의 페이지 목록이 출력되면 성공입니다
댓글 ( 0)
댓글 남기기