Notion API로 테스트 쿼리 작성
회사에서 협업 툴을 이용한 서비스 개발하기 전에 테스트 쿼리를 작성해 볼 기회가 생겼다.
협업 툴(Notion, Slack, Dropbox 등) 중에 살짝 맛보기로 본 공식 문서에서 Notion이 조금 친절해 보여서 Notion API를 사용하여 데이터를 가져오는 테스트를 진행해보았다.
Notion API 키를 가져오고 데이터베이스를 쿼리하는 방법에 대해 알아보자.
1. Notion API 키 받기
- https://www.notion.com/my-integrations 로 이동하여 "+ create new integration" 버튼을 클릭한다.
- 연결된 작업공간을 선택하고 이름을 지정한 뒤 submit 버튼을 누른다.
- 위의 두 과정을 거쳐 Notion API 토큰을 받게 된다.
2. 데이터베이스 생성하기
notion 페이지 빈공간에 ‘/’ 를 입력한 뒤 Database - Full Page를 찾아 새로운 데이터 베이스를 만들어준다.
3. 데이터베이스 아이디 가져오기
그 다음 이미지와 같이 TEST 데이터를 몇 개 만들어준 후 오른쪽 상단에 있는 점 3개를 클릭해 copy link를 복사한다.
링크를 복사하면 “https://www.notion.so/e5557f759e084433a7bdf44e68016334?v=e4cc4df16e0c41dc9db9f2c46a2e02ec” 형태의 URL을 얻을 수 있다.
이 중 빨간색으로 표시된 부분이 바로 데이터베이스 아이디이다.
4. API 연동
사용하려는 데이터베이스에 들어가 점 3개 클릭 후, Add Connection 1번에서 발급 받은 API 키의 이름을 선택해준다.
5. Postman TEST(GET)
Postman url : https://api.notion.com/v1/databases/[데이터베이스 아이디]
- 3번에서 얻은 데이터베이스 아이디를 url에 넣어준다.
Authorization 섹션에서 다음 이미지와 같이 설정한다.
- Type : Bearer Token선택, Token: 1번에서 얻은 Notion API KEY
Headers 섹션으로가서 Key, Value값을 추가해준다.
- key : Notion-Version, Value: 2022-06-28
5-1. 결과 확인
여기에는 properties 섹션 아래에 데이터베이스 개체와 해당 개체에 속한 필드가 포함된다.
6. Postman TEST(POST)
실제 데이터를 보고 싶다면, 동일한 URL에 POST 요청을 하고, 마지막에 다음과 같이 /query를 추가해야 한다.
6-1. 결과 확인
각각 수많은 속성을 포함하는 여러 결과를 얻는 것을 볼 수 있다.
후기 및 느낀점
생각보다 Notion API의 문서는 친절하지 않았다. Notion API에서 쿼리로 내가 원하는 페이지를 찾으면, 거기서 꼬리물기식으로 페이지를 계속 찾아가야 했는데 Notion API 문서에 여기저기 흩어져 있어 생각보다 찾기 어려웠다.