내가 Notion API를 통해 활용하고자 한건 딱 두가지였다.
1. Notion의 지정한 Database 내 데이터 모두 조회 해오기 >> Get
2. 지정한 Database 에 원하는 데이터 업데이트 하기 >> Post
그래서 이번엔 데이터 조회에 대해 먼저 써보고자 한다.
노션의 URL 구조는 아래처럼 작성 되어 있으며 이중 database_id를 사용해서 http 호출을 한다
https://www.notion.so/{workspace_name}/{database_id}?v={view_id}
Notion API 에서 한번에 호출 가능한 결과수는 최대 100개 이다.
때문에 pagenation 쿼리가 존재하는데 start_cursor 와 page_size 를 속성으로 사용 한다.
https://developers.notion.com/reference/pagination
쿼리 호출 시 최하단 next_cursor 값이 비어 있을 경우 전체 데이터가 모두 호출 된 경우이며,
next_cursor가 존재할 경우 다음 시작 커서를 알려주기에 해당 id 값을 start_cursor 로 사용하면 된다
{
"page_size":100,
"start_cursor" : "[넥스트 커서값사용]"
}
그렇게 호출하면 next_cursor값 부터 start 되어 호출되게 된다.
CURL
curl --location --request POST 'https://api.notion.com/v1/databases/$NOTION_DATABASE_ID/query' \
--header 'Authorization: Bearer $NOTION_API_KEY' \
--header 'Notion-Version: 2022-06-28' \
--header 'Content-Type: application/json' \
--data-raw '{
"page_size":10,
"start_cursor" : "$NOTION_NEXT_CURSOR"
}
노션의 Database는 내부의 item으로 page를 사용한다.
때문에 page를 위한 다양한 API 및 속성설명이 존재하지만, 내 경우 Database 전체의 데이터가 필요하기에 요 부분은 다음 기회에!
참고 사이트
'Notion' 카테고리의 다른 글
Notion - 1. Integration & Setting (0) | 2023.02.02 |
---|