๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋‹จ์ถ•์–ด ๐Ÿ“ฑ

๋‹จ์ถ•์–ด๋กœ ์ผ์ƒ ๊ธฐ๋ก, ๋…ธ์…˜ ์—ฐ๋™ - 3

by GeekSean 2025. 11. 22.
๋ฐ˜์‘ํ˜•

[๋‹จ์ถ•์–ด ๐Ÿ“ฑ] - ๋‹จ์ถ•์–ด๋กœ ์ผ์ƒ ๊ธฐ๋ก, ๊ณต๋ถ€ ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ - 1

[๋‹จ์ถ•์–ด ๐Ÿ“ฑ] - [Swift] ๋‹จ์ถ•์–ด๋กœ ์ผ์ƒ ๊ธฐ๋ก, ๊ฑด๊ฐ• ๋ฐ์ดํ„ฐ ์ˆ˜์ง‘ - 2

[๋‹จ์ถ•์–ด ๐Ÿ“ฑ] - ๋‹จ์ถ•์–ด๋กœ ์ผ์ƒ ๊ธฐ๋ก, ๋…ธ์…˜ ์—ฐ๋™ - 3

 

 

์ €๋ฒˆ ๋‘ ๊ฒŒ์‹œ๊ธ€์—์„œ ๊ธฐ๋กํ•œ ๊ณต๋ถ€ ๋ฐ์ดํ„ฐ์™€, ํ•˜๋ฃจ ๊ฑด๊ฐ• ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ์—ˆ๋‹ค.

 

์ด๋ฒˆ์—๋Š” ๋‚ด๊ฐ€ ์‚ฌ์šฉ์ค‘์ธ ๋…ธ์…˜ ์•ฑ์˜ ์ผ์ •๊ด€๋ฆฌ์—, ๋‘ ๋ฐ์ดํ„ฐ๋ฅผ ์ž๋™์œผ๋กœ ๊ธฐ๋กํ•  ์ˆ˜ ์žˆ๊ฒŒ

๋‹จ์ถ•์–ด๋ฅผ ์ด์šฉํ•ด ์ž๋™ํ™”๋ฅผ ํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

 

Notion๊ณผ์˜ ์—ฐ๋™์€ Notion์ด ์ œ๊ณตํ•˜๋Š” API๋ฅผ ์ด์šฉํ•ด์„œ ๋งŒ๋“ค์–ด ๋ณด๊ฒ ๋‹ค.

 

 

Notion ํ…œํ”Œ๋ฆฟ

 

๋‚ด๊ฐ€ ๊ธฐ๋กํ•˜๊ณ  ์žˆ๋Š” ๋…ธ์…˜ ํ…œํ”Œ๋ฆฟ์ด๋‹ค.

๊ฐ„๋‹จํ•˜๊ฒŒ ํ•˜๋ฃจ ์ผ๊ณผํ‘œ์™€, To-do list, ๋ชฉํ‘œ์„ค์ • ํŽ˜์ด์ง€๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

 

๋ชฉํ‘œ๋Š” ์šฐ์ธก ํ•˜๋‹จ Record ํŽ˜์ด์ง€์— ํ•˜๋ฃจ์˜ ๊ธฐ๋ก์„ ์ฐจ๊ณก์ฐจ๊ณก ๊ธฐ๋กํ•˜๊ณ ์ž ํ•œ๋‹ค.

 

 

Notion API

 

๋‹จ์ถ•์–ด์—์„œ ๋…ธ์…˜์„ ์‚ฌ์šฉํ•˜๊ธฐ์— ์•ž์„œ

Notion API ์— ๋Œ€ํ•ด ์ฐพ์•„๋ณผ ํ•„์š”๊ฐ€ ์žˆ์—ˆ๋‹ค.

 

๋ฌธ์„œ๋ฅผ ์—ฌ๋Ÿฌ๋ฒˆ ์ฝ์—ˆ์œผ๋‹ˆ, ํ•˜๋‚˜ํ•˜๋‚˜ ๊ตฌํ˜„ํ•ด ๋ณด๋„๋ก ํ•˜์ž

https://developers.notion.com/reference/intro

 

Introduction

The reference is your key to a comprehensive understanding of the Notion API. Integrations use the API to access Notion's pages, databases, and users. Integrations can connect services to Notion and build interactive experiences for users within Notion. Us

developers.notion.com

 

API๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๊ฐœ์ธ Key๋ฅผ ๋ฐœ๊ธ‰ ๋ฐ›์•„์•ผ ํ•œ๋‹ค.

Notion์˜ API ํ†ตํ•ฉ ํŽ˜์ด์ง€์—์„œ, ๋‚ด Secret Key๋ฅผ ๋ฐœ๊ธ‰ํ–ˆ๋‹ค.

 

๋‚ด๊ฐ€ ๋งŒ๋“ค์–ด์•ผ ํ• , ๋™์ž‘์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

  • Record Calendar(DB)์— ํŽ˜์ด์ง€ ์ƒ์„ฑ
  • ์ƒ์„ฑ๋œ ํŽ˜์ด์ง€์— ๋ฐ์ดํ„ฐ ์ž…๋ ฅ

 

API ๋ฌธ์„œ๋ฅผ ์ •๋… ํ•˜๊ณ , ๋‚ด ํŽ˜์ด์ง€๋ฅผ API์™€ ์—ฐ๋™ํ•˜๋Š” ์ž‘์—…์„ ํ–ˆ๋‹ค.

์ƒ๋‹จ ๋ฉ”๋‰ด > ์—ฐ๊ฒฐ > ๋‚ด API ์ถ”๊ฐ€

 

๋‹ค์Œ์œผ๋กœ ์ž‘์—…์„ ํ• , ํŽ˜์ด์ง€์˜ id๊ฐ’์„ ๊ฐ€์ ธ์™”๋‹ค.

(ํ•„์ž๋Š”, Record Calendar์˜ id๊ฐ’์„ ๊ฐ€์ ธ์™”๋‹ค.)

ํ•ด๋‹น ํŽ˜์ด์ง€ > ์ƒ๋‹จ ๊ณต์œ  ๋ฒ„ํŠผ > ๋งํฌ ๋ณต์‚ฌ

 

๊ทธ๋Ÿผ ์•„๋ž˜์™€ ๊ฐ™์€ ํ˜•์‹์˜ ๋งํฌ๊ฐ€ ๋ณต์‚ฌ๋˜๋Š”๋ฐ,

?v ์•ž์˜ ๋ถ€๋ถ„์ด ํŽ˜์ด์ง€์˜ id ์ด๋‹ค.

https://www.notion.so/{id}?v=...&pvs=4
 

 

์ด์ œ key์™€ id๊ฐ’์œผ๋กœ Postman์—์„œ ํŽ˜์ด์ง€ ์ƒ์„ฑ์„ ํ•ด๋ณด์ž

์š”์ฒญ URL์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

https://api.notion.com/v1/pages
 

 

ํŽ˜์ด์ง€ ์ƒ์„ฑ์€ Post ๋ฐฉ์‹์œผ๋กœ,

Header์—” Key๊ฐ’ Body๋Š” json ํƒ€์ž…์˜ ์š”์ฒญ ๊ฐ’์ด ํ•„์š”ํ–ˆ๋‹ค.

Authorization:Bearer {key๊ฐ’}
Content-Type:application/json
Notion-Version:2022-06-28
 
{ "parent": {
    "database_id": "id๊ฐ’"
},
"properties": { 
  "Name": { "title": [{"text": { "content": "ํŽ˜์ด์ง€ ์ด๋ฆ„" }}]},
  "Date": { "date": { "start": "2025-03-15" }}}
}
 

 

์„ฑ๊ณต์ ์œผ๋กœ ํŽ˜์ด์ง€๊ฐ€ ์ƒ์„ฑ๋˜์—ˆ๊ณ , ๋ฆฌํ„ด๊ฐ’์œผ๋กœ ์ƒ์„ฑ๋œ ํŽ˜์ด์ง€์˜ id๊ฐ’์ด ๋‚˜์™”๋‹ค.

 

์ด์ œ ์ด id๊ฐ’์— ํŽ˜์ด์ง€์˜ ๋‚ด์šฉ์„ ๋„ฃ์–ด๋ณด์ž

๋‚ด์šฉ์„ ๋„ฃ์œผ๋ ค๋ฉด Patch ๋ฐฉ์‹์œผ๋กœ ์š”์ฒญ URL์— id๊ฐ’์„ ๋„ฃ์–ด์ค˜์•ผ ํ•œ๋‹ค.

https://api.notion.com/v1/blocks/{id}/children
 

 

๋‚ด์šฉ์€ ๊ฐ„๋‹จํ•˜๊ฒŒ h3ํƒœ๊ทธ์™€ callout์„ ๋„ฃ์—ˆ๋‹ค.

์‹คํ–‰ ๊ฒฐ๊ณผ, ์ƒ์„ฑ๋œ ํŽ˜์ด์ง€ ์•ˆ์— ์ž˜ ๋“ค์–ด๊ฐ„ ๋ชจ์Šต

 

 

ํŽ˜์ด์ง€ ๋‚ด์šฉ ๋งŒ๋“ค๊ธฐ

 

์ด์ œ ์‹ค์ œ ํŽ˜์ด์ง€์— ๋„ฃ์„ ๋‚ด์šฉ(json ํฌ๋งท)์„ ๋งŒ๋“ค์–ด ๋ณด์ž

API ๋ฌธ์„œ ๊ทœ์น™์— ๋งž๊ฒŒ, ๋Œ€๋žต ํ‹€์„ ๋งŒ๋“ค์–ด ๋ณด์•˜๋‹ค.

 

๋ถ„๋ฅ˜ ํƒ€์ดํ‹€์„ ๋„ฃ์–ด์ค„ h3ํƒœ๊ทธ๋Š” ์ด๋ ‡๊ฒŒ

"heading_3": {
  "rich_text": [{
    "type": "text",
    "text": {
      "content": "๊ณต๋ถ€ ๊ธฐ๋ก"
    }
  }]
}
 

 

๊ณต๋ถ€ ๊ธฐ๋ก์„ ์œ„ํ•œ ํ…Œ์ด๋ธ”์€ ์ด๋ ‡๊ฒŒ ์„ค๊ณ„ํ•˜๊ณ ,

๊ณผ๋ชฉ๋ณ„๋กœ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ฆด ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ€์šด๋ฐ๋Š” ๋น„์›Œ๋†จ๋‹ค.

"table": {
  "table_width": 2,
  "has_column_header": true,
  "has_row_header": false,
    "children": [{
      "object": "block",
      "type": "table_row",
      "table_row": {
        "cells": [
          [{ "type": "text", "text": { "content": "๊ณผ๋ชฉ" }}],
          [{"type": "text", "text": { "content": "์‹œ๊ฐ„" }}]
        ]
      }
    },
    { /*๊ณต๋ถ€๋ฐ์ดํ„ฐ์˜ k-v ๊ฐœ์ˆ˜๋งŒํผ ๋ฐ˜๋ณต๋ฌธ*/ },
    {
      "object": "block",
      "type": "table_row",
      "table_row": {
        "cells": [
          [{"type": "text", "text": { "content": "๊ณ„" }}],
          [{"type": "text", "text": { "content": "studyTime" }}]
        ]
      }
    }]
}
 

 

๋งˆ์ง€๋ง‰์œผ๋กœ ๊ฑด๊ฐ• ๊ธฐ๋ก์˜ ๋ฐ์ดํ„ฐ๋“ค์€ callout ์•ˆ์— ๋„ฃ์„ ์˜ˆ์ •์ด๋ฏ€๋กœ

์ด๋ชจ์ง€์™€ ํ•จ๊ป˜, callout ํ‹€๋„ ๋งŒ๋“ค์–ด ์ฃผ์—ˆ๋‹ค.

"callout": {
  "rich_text": [{"type": "text", "text": { "content": "์šด๋™์‹œ๊ฐ„: exerciseTime" }}],
  "icon": { type": "emoji", "emoji": "๐Ÿ€" }
}
 

 

์ถ”๊ฐ€์ ์œผ๋กœ column_list๋กœ ํ•ญ๋ชฉ์„ ๊ฐ์‹ธ๋ฉด, ํ•œ ํ–‰์— ์—ฌ๋Ÿฌ๊ฐœ์˜ ์—ด๋กœ ์ถ”๊ฐ€๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

"object": "block",
"type": "column_list",
  "column_list": {
     "children": [ 
       ...
 

 

 

๋‹จ์ถ•์–ด ๊ตฌํ˜„

 

์ด์ œ ์ด ํ‹€์„ ๊ทธ๋Œ€๋กœ ๋‹จ์ถ•์–ด์— ์ ์šฉ์‹œ์ผœ๋ณด์ž

 

์ฒ˜์Œ์œผ๋กœ, Postman์œผ๋กœ ํ…Œ์ŠคํŠธ ํ•œ ๊ทธ๋Œ€๋กœ Post๋ฐฉ์‹์œผ๋กœ

Header์™€ Body์— ํ•„์š”ํ•œ ๊ฐ’์„ ๋„ฃ๊ณ  ์š”์ฒญ์„ ํ–ˆ๋‹ค.

 

๊ทธ ํ›„, ๊ฒฐ๊ณผ ๊ฐ’์—์„œ ๊ฐ’์„ ๋„ฃ์„ ํŽ˜์ด์ง€์˜ id๊ฐ’์„ ๋ฐ›์•„๋‘๊ณ 

1ํŽธ์—์„œ ๋งŒ๋“  ๊ณต๋ถ€๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์ ธ์˜จ๋‹ค.

(๊ฐ’์€ ์ด ๊ณต๋ถ€์‹œ๊ฐ„, {n๊ฐœ์˜ ๊ณผ๋ชฉ: ๊ณต๋ถ€์‹œ๊ฐ„})

 

๊ณผ๋ชฉ ์ˆ˜ ๋งŒํผ ๋ฐ˜๋ณต๋ฌธ์„ ๋Œ๋ ค, ๊ณต๋ถ€ ์‹œ๊ฐ„์„ ๊ธฐ๋กํ•  ํ–‰์„ ๋งŒ๋“ค์–ด์ฃผ๊ณ ,

2ํŽธ์—์„œ ๋งŒ๋“  ์šด๋™๋ฐ์ดํ„ฐ๋„ ๊ฐ€์ ธ์˜จ๋‹ค

์ด๋•Œ hh:mm:ss ํ˜•์‹์˜ ์‹œ๊ฐ„์€ ์ •๊ทœ์‹์œผ๋กœ 00์‹œ 00๋ถ„ ํ˜•ํƒœ๋กœ ๋ฐ”๊พธ์–ด ์ฃผ์—ˆ๋‹ค.

 

๋˜, ํ•˜๋ฃจ๋ฅผ ํ‰๊ฐ€ํ•˜๋Š” ์ž…๋ ฅ ํผ๋„ ๋งŒ๋“ค์—ˆ๋‹ค.

 

๋งˆ์ง€๋ง‰์œผ๋กœ Patch ๋ฐฉ์‹์œผ๋กœ ์ตœ์ข… ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด

๋‹จ์ถ•์–ด๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ž˜ ์ž‘๋™ํ•œ๋‹ค.

 

์ถ”๊ฐ€๋กœ, ์ƒ๋‹จ์˜ Today's Mood์—”

์• ํ”Œ ๊ฑด๊ฐ•์•ฑ์— ๊ธฐ๋ก๋œ "Satisfied" ๊ฐ’์ด ๋“ค์–ด๊ฐ€๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

๋‹จ์ถ•์–ด๊ฐ€ ๋™์ž‘ํ•˜๋Š” ๊ณผ์ •

https://youtube.com/shorts/asOfL6ncTkU?si=ODeIHOj7M6bhmeov

 

 

 

Notion ํ™•์ธ

 

์ฃผ๋กœ PC ํ™˜๊ฒฝ์—์„œ ์‚ฌ์šฉ์ค‘์ด๋ฏ€๋กœ, ์ตœ์ข…์ ์œผ๋กœ ํ™•์ธํ•ด๋ณด์•˜๋‹ค.

PC์—์„œ ๋ณด๋ฉด ๋” ๊น”๋”ํ•˜๊ฒŒ ์ •๋ฆฌ๊ฐ€ ๋˜์–ด ๋ณด์ธ๋‹ค.

 

๊ตฌ์กฐ๋ฅผ column_list๋กœ ์„ค์ •ํ•ด์ฃผ์—ˆ๊ธฐ์—,

๊ณต๋ถ€๊ธฐ๋ก๊ณผ ์šด๋™๊ธฐ๋ก์ด ํ•œ ํ–‰์— ๋ฐฐ์น˜๋˜์–ด ๋“ค์–ด๊ฐ„๋‹ค.

 

 

์ด๋ ‡๊ฒŒ ํ•˜๋ฃจ ๊ธฐ๋ก ์ž๋™ํ™” ์ž‘์—…์ด ๋๋‚ฌ๋‹ค.

์ข€ ๋” ๊ทœ์น™์ ์ด๊ณ  ๋ณด๋žŒ์ฐฌ ํ•˜๋ฃจ๋ฅผ ๋ณด๋‚ด๋Š” ๊ณ„๊ธฐ๊ฐ€ ๋˜์—ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค.

 

 

์›๋ณธ ๊ฒŒ์‹œ๊ธ€

https://blog.naver.com/101artspace/223808245035

 

๋‹จ์ถ•์–ด๋กœ ์ผ์ƒ ๊ธฐ๋กํ•˜๊ธฐ, ๋…ธ์…˜ ์—ฐ๋™ - 3

์ €๋ฒˆ ๋‘ ๊ฒŒ์‹œ๊ธ€์—์„œ ๊ธฐ๋กํ•œ ๊ณต๋ถ€ ๋ฐ์ดํ„ฐ์™€, ํ•˜๋ฃจ ๊ฑด๊ฐ• ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์•„์˜ฌ ์ˆ˜ ์žˆ์—ˆ๋‹ค. ์ด๋ฒˆ์—๋Š” ๋‚ด๊ฐ€ ์‚ฌ์šฉ์ค‘์ธ...

blog.naver.com

 

๋ฐ˜์‘ํ˜•