notion-py를 사용하여 내 노션 페이지 자동화 하는 방법(읽기, 쓰기, 수정하기)
notion-py란?
python을 이용해서 비공식적으로 notion에 대한 api를 지원하는 패키지이다.
아래 링크에서 자세한 설명을 확인할 수 있다.
jamalex/notion-py
Unofficial Python 3 client for Notion.so API v3.
사용 방법
notion-py 패키지 설치
우선 notion-py 패키지를 설치한다. (패키지명이 notion입니다.)
pip3 install notion
notion token 값 얻기
해당 패키지를 사용하려면 개인의 token
값이 필요하다. 아무나 내 페이지를 접근하면 안되기 때문이다.
우선 인터넷에서 notion.so에 접속한다. 오른쪽 마우스 버튼을 클릭하여 크롬이라면 검사
, 사파리라면 요소 점검
을 클릭한다.
아래와 같은 창이 뜨는데, 저장 공간에서 쿠키를 클릭하면 맨 아래에 token_v2가 있을 것이다.
이 token_v2의 값을 복사해 온다.

소스 설명
token 값을 받아 왔으면 이제 소스에서 적용하면 된다.
가져올 page의 url은 인터넷으로 notion page에 접속한 경우 주소창 그대로 복사하면 되고,
앱을 사용하는 경우 접근을 원하는 page에서 share 버튼을 눌렀을 때 나오는 link를 복사하면 된다.
from notion.client import NotionClient
# 아래 <token_v2> 대신에 위에서 복사한 자신의 token 값을 입력한다.
client = NotionClient(token_v2="<token_v2>")
# 아래 <url>에 읽고 쓰기를 원하는 페이지 주소를 입력한다.
page = client.get_block("<url>")
# 제목 조회
print("페이지 제목", page.title)
# 제목 변경
page.title = "새로운 제목으로 바꿨습니다."
page.title로 노션 페이지의 제목을 조회할 수 있고 page.title에 어떤 값을 주면 notion에서 그 값으로 제목으로 바뀐다.
제목을 가져오는 것 이외에도, 새로운 block을 넣고 지우고 수정하고 테이블을 조회하고, callback함수를 추가하는 등 매우 다양한 API가 있다. 다른 자세한 방법은 공식 github에 가면 확인 할 수 있다.
jamalex/notion-py
Unofficial Python 3 client for Notion.so API v3.