Notion

Notion - 1. Integration & Setting

북국버들 2023. 2. 2. 23:03

Notion 과 통합하여 사용하는 Automateio(https://automate.io/) 를 잘 쓰고 있었는데....

여기서 서비스를 종료한다는 공지를 올렸다! 

정확하겐 노션에 인수되며 서비스를 종료한 것 (https://automate.io/blog/closing-down-automate-io/)

 

Zapier로 대체하기 위해 시도해 봤으나 하고자 하는 기능이 부족하여 Notion API를 직접 사용하기로 했다. 

기준은 역시 공식가이드 기준 

 

1. Integration 생성 

 

1. 내 노션에 로그인 후  https://www.notion.com/my-integrations  에 접속

2. 새 API 통합 클릭 

새 API 통합 클릭!

3. 이름, 로고, 연결한 워크스페이스를 설정 후, API에서 읽고자하는 기능에 대해 선택하여 '제출'

가져올수 있는건 다 가져와야지!

4. 그 후 생성된 key값을 확인 한다

   해당 Key 값은 API 전송 시 Bearer Token 값이 된다. 

호출 예시 

GET /v1/pages/b55c9c91-384d-452b-81db-d1ef79372b75 HTTP/1.1
Authorization: Bearer {INTEGRATION_TOKEN}

 

5. API 통합 유형 설정이 가능하다. 

작업 편의성을 위해 워크스페이스의 관리자 계정으로 API를 세팅하는게 좋다. 

 

6. 완료 하면 아래와 같이 작성된 API Integration 을 볼 수 있다. 

 

 

 

2. Notion Database에 생성한 Integration 연결 

Notion에서는 하나하나의 페이지를 Database 라고 표현한다.  

API를 사용하고자 하는 Database 에서 생성한 Integration 을 연결 해줘야만 해당 페이지를 API 를 통해 연동할 수 있다. 

Notion에서 사용하는 Database ID 값은 호출하고자 하는 대상이 된다.

 

1.  Notion 내 API 연결을 원하는  Database 하나를 선택 

2.  페이지 최상단의 .... 를 클릭!

3. '연결 추가' 버튼으로 앞서 만든 Integration 을 연결한다. 

고양이 그림이 잘안보여ㅠㅠ

 

3. HTTP request 호출

호출을 위해서는 앞서 생성한 Key(Authorization)과 Notion의 버전, Database의 ID가 있어야 한다. 

Notion 의 버전은 날짜 형태로 되어 있다. 

 

Notion의 버전리스트는 아래와 같다 

https://developers.notion.com/reference/changes-by-version

2022-06-28, 2022-02-22, 2021-08-16, 2021-05-13

 

cURL 로 호출 시 

curl --location --request POST 'https://api.notion.com/v1/databases/$NOTION_DATABASE_ID' \
--header 'Authorization: Bearer $NOTION_API_KEY' \
--header 'Notion-Version: 2022-06-28' \
--header 'Content-Type: application/json' \

결과값을 받을 수 있다

 

참고 사이트 

https://developers.notion.com/docs/create-a-notion-integration

 

Create an integration

Make your first request to the Notion API.

developers.notion.com