Search
Duplicate
🍚

Notion API 활용해서 포스팅 내용 가져오기

간단소개
Notino API 활용해보기
팔만코딩경 컨트리뷰터
ContributorNotionAccount
주제 / 분류
Notion
Scrap
태그
9 more properties

Notion API v1

Notion API가 나온지 1년 정도가 지난 것 같은데 오늘에야 API 권한 등록을 했다...   작년에 이것저것 활용해서 팔만코딩경에 좋은 기능을 넣어보고 싶었는데 실력이 부족해 실패...
이제는 API 사용도 익숙하고 나중에 팔만코딩경 DB를 이전하거나 관리하기 좋게 미리 API 활용 테스트를 진행해보려고 한다.

권한 등록하기

링크로 가서 권한 등록을 진행할 수 있다. 권한은 워크스페이스를 기준으로 나눠진다. 통합 권한은 여러개 만들 수 있으며, 각 권한별로 토큰을 발급받아 원하는 페이지를 관리할 수 있다. 아직 테스트를 해보진 않았지만, 하나의 통합 권한으로 한 워크스페이스의 여러 페이지를 한번에 관리할 수 있는 것 같다.
통합 등록을 진행하면 secret 토큰과 여러 설정들을 진행할 수 있다. 개인용으로 테스트하기 위해 내부용 통합, 접근 권한은 읽기, 쓰기, 업데이트 3가지 모두 열어보았다
크게 어려움 없이 설정을 완료한 이후, 저장 버튼을 누르기만 하면 바로 권한 계정이 발급된다. 이제 발급받은 토큰을 복사해두고 API테스트를 진행해보자. 보기 버튼이 조금 불편하긴 하지만.... 번역이 되어 있는 것으로 만족

API를 사용할 페이지에 계정 연결

계정을 만들었으면 간단하게 페이지에 연결할 수 있다. 연결하고 싶은 페이지로 이동한 후 공유 → 사용자 초대를 들어가면 방금 생성했던 계정이 보인다. 이 계정을 눌러서 페이지에 초대하도록 하자!
API 계정을 생성할 때 지정한 워크스페이스가 아니면, 계정이 공유되지 않는다.

API 테스트 해보기

공식 문서가 아주 친절하게 되어있어서 어려움 없이 테스트 할 수 있었다. 우선 페이지에 접근할 수 있는지 테스트 해보기 위해 Retrieve a page 부분을 보았다.
GET 메서드가 있는 것을 보니 아마 이 부분을 보면 원하는 결과를 얻을 수 있을 것 같다
간단한 설명과 함께 예제도 볼 수 있다. 깔끔하게 잘 되어 있는 것 같다. 심지어 예제 코드도 모든 언어 종류별로 다 적혀있다!!!!!!!!!!!!!! 어차피 쓰는 건 하나밖에 없지만 뭔가 멋있어...
사실 나는 Postman으로 테스트를 진행할거라 코드가 필요 없었다 ㅎㅎ 바로 Postman으로 들어가서 API를 날려보았다
response 예시
구조가 생각보다 복잡해서 데이터를 활용하는 것도 상당이 어려워 보였다 ㅎㅎ 그런데 게시글인데 content가 없다...? docs를 자세히 읽어보니 이렇게 나와있다
게시글의 contents를 가져오려면 retrieve block children 을 활용해야한다.... 그런데 이 api는 또 page_size 를 param으로 받는데 한번에 최대 100블록 까지 fetch가 가능하다...
만약 게시글의 내용이 많은 페이지가 있다면 loop를 돌면서 fetch를 해야한다 그래도 아래 api를 사용해보면 결과자 잘 나오는 것을 확인할 수 있다.
https://api.notion.com/v1/blocks/{block_id}/children
response 예시