Back/Node.js

[NodeJs, Notion] Nodejs + Notion database 연동하기 및 만들기

 

노션에 있는 이런 데이터베이스는 개발자가 아닌 사람들도 편하게 데이터베이스를 만들 수 있고,

 

접근성도 용이하고 좋은 것 같다.

 

관련된 쿼리도 제공하고 api도 제공해서 만들기도 괜찮은 것 같고,

 

이걸 이용해서 나중에 notion-orm을 만들자~ 하고 잠시 생각해서,

 

누군가 이름을 먹었다.. 코드도 없으면서.. notion-orm, notionorm 둘다 안돼ㅠㅠ

 

일단 notion으로 뭘 할 수 있을지 하나하나 기록해보려한다.

 

공식문서 (는 잘되어 있으나, 연결 부분에서 설명이 불친절한 부분도 있었따)

 

Getting started

Learn how to make your first API requests using the Notion API

developers.notion.com

 

1. 노션 전체 페이지로 표 데이터베이스를 만들어준다.

 

2. 노션 좌측 상단의 설정에 들어간다.

 

3. API 연결 개발 또는 관리를 선택한다.

 

4. 새 API 통합을 만들고, 토큰을 저장한다.

 

5. 연결할 노션 페이지와 방금 만든 API통합을 연결해준다.

연결 추가를 누르고 방금 만든 API 통합을 연결시켜준다.

 

 

6. 노션에 있는 페이지 공유 또는 데이터베이스 보기 복제등을 통해 링크를 얻는다.

https://www.notion.so/ablaskfdalskfalsfasf?v=5c58b552d69146f58a9ba00541d5e795

 

여기 주황색으로 쳐있는 부분이 데이터베이스 id이다.

const { Client } = require("@notionhq/client");

const notion = new Client({
	auth: "받은 API 통합키",
});

const databaseId = "링크 공유로 얻은 데이터베이스 ID";

const addItem = async (text) => {
	try {
		const response = await notion.pages.create({
			parent: { database_id: databaseId },
			properties: {
				title: {
					title: [
						{
							text: {
								content: text,
							},
						},
					],
				},

				goods: {
					rich_text: [
						{
							text: {
								content: text,
							},
						},
					],
				},
			},
		});
		console.log(response);
		console.log("Success! Entry added.");
	} catch (error) {
		console.error(error.body);
	}
};

addItem("하이하이44");

 

이런 식으로 해주면

title, goods 컬럼에 insert되듯이 들어간다.

 

공식문서에서는 이모지, 사진 등 더 다양한 것들을 넣을 수 있으니, 참고하면 되겠다.

 

 

다음은 타입스크립트로 바꾸고, 조회, 업데이트, 삭제등을 확인해야겠다.