ChatGPT는 최근 우리의 삶과 업무 스타일을 완전히 바꾸어 놓았습니다. OpenAI API GPT3 및 GPT 3.5 API를 사용하는 경향이 있습니다. 내 삶을 완전히 자동화하고 시간을 낭비하지만 중요한 반복 작업을 오프로드할 수 있기 때문입니다. 둘 다 사용하면 버터와 마블링이 풍부한 와규 쇠고기를 먹는 것과 같습니다.
사실 우리에게는 선택지가 하나밖에 없습니다. API와 AI 챗봇 사이에서 Anthropic의 Claude 생성 AI 모델을 사용하는 Notion AI는 AI 쓰기 및 API 기능으로 반자동 AI 경험을 완벽하게 제공할 수 있습니다. GPT 3만큼 크런치하지는 않지만 명확하고 얇고 직선적인 사용 경험으로 사용자에게 깊은 인상을 줍니다.
이 글에서는 Notion 비공개 페이지에서 Notion AI 콘텐츠를 검색하고 Notion API를 사용하여 새 콘텐츠를 업데이트하는 방법을 안내합니다.
목차: Notion API를 사용하는 CRUD Notion 페이지 콘텐츠
- 앱 및 Notion API 키 생성
- 기본 인증 및 헤더 설정
- 새로운 개념 페이지 만들기
- Notion 페이지 콘텐츠 검색
- Notion 페이지 블록 콘텐츠 업데이트
- 노션 페이지 삭제
- Notion API를 사용하여 검색 및 업데이트의 전체 Python 스크립트
새로운 앱 및 Notion API 키 생성
Notion은 제너레이티브 AI 요청 20건이 포함된 무료 평가판을 제공합니다. OpenAI와 같은 다른 AI 플랫폼과 비교할 때 Notion의 강점은 현장 콘텐츠 및 데이터베이스 관리이며 주로 쓰기, 번역, 요약과 관련이 있습니다. 그것은 10 달러에 가격이 책정되는 월간 계획이 있습니다. 무료 또는 월간 플랜을 통해 사용자는 앱을 만들 수 있으며 이를 통해 앱을 Notion과 연결할 수 있습니다. 하지만 제 입장에서는 Notion AI 없이 API만 사용한다면 가입할 가치가 없습니다. 데이터베이스 및 콘텐츠 허브 관리에 기반을 두고 있기 때문에 사용 가능한 옵션이 매우 많고 솔직히 개발자에게 훨씬 편리합니다.
API 키는 내 연결 관리 페이지에서 사용할 수 있으며 API에 대해 설정할 수 있는 내부 및 공개의 두 가지 옵션이 있습니다. 이 경우 내부 목적을 선택할 수 있습니다.
생성이 완료되면 미리 새로운 상위 페이지를 생성하여 해당 페이지를 앱과 연결해 주세요. 기본적으로 준비되었으며 스크립트 작성을 시작할 수 있습니다.
Python의 기본 API 인증 및 헤더 설정
기본적으로 CRUD 페이지 콘텐츠에서 사용할 두 가지 주요 Notion API 엔드포인트가 있습니다. 다음과 같습니다.
https://api.notion.com/v1/pages
https://api.notion.com/v1/blocks/
그런 다음 앱 상황에 따라 클래스를 생성하거나 생성하지 않고 헤더를 설정해야 합니다. 어떤 경우이든 설정해야 하는 기본 헤더입니다.
headers = {
"accept" : "application/json" ,
"Notion-Version" : "2022-06-28" ,
"content-type" : "application/json" ,
"Authorization" : "your Notion API Key"
}
CRUD – Notion API를 사용하여 Notion 페이지 생성
기존 페이지의 자식인 새 페이지를 만들려면 제목 구성 요소만 있으면 됩니다. 제목은 속성 본문 매개변수에서 유일하게 유효한 속성입니다.
새로운 페이지를 생성하는 전체 스크립트가 궁금하시다면 " Chapter 75 + notion API "라는 메시지를 남겨 구독해주세요.
CRUD – Notion API를 사용하여 Notion 비공개 페이지 블록 콘텐츠 검색
페이지 블록 콘텐츠를 가져오려면 상위 페이지 ID와 json 라이브러리라는 두 가지 주요 구성 요소가 필요합니다.
먼저 검색 끝점을 사용하여 페이지 ID를 가져오거나 이 끝점 경로에 ID를 직접 복사하여 입력할 수 있습니다.
url = "https://api.notion.com/v1/blocks/" + pageID + "/children"
그런 다음 요청을 사용하여 끝점 데이터를 호출하면 JSON 데이터 형식이 반환되므로 이를 해석하려면 json()을 추가해야 합니다.
response = requests . get ( url , headers = headers ). json ()[ 'results' ]
마지막으로 응답 형식은 아래와 같을 것입니다. 조금 길어 보이지만 복잡하지는 않습니다.
{
"object": "block",
"id": "c02fc1d3-db8b-45c5-a222-27595b15aea7",
"parent": {
"type": "page_id",
"page_id": "59833787-2cf9-4fdf-8782-e53db20768a5"
},
"created_time": "2022-03-01T19:05:00.000Z",
"last_edited_time": "2022-07-06T19:41:00.000Z",
"created_by": {
"object": "user",
"id": "ee5f0f84-409a-440f-983a-a5315961c6e4"
},
"last_edited_by": {
"object": "user",
"id": "ee5f0f84-409a-440f-983a-a5315961c6e4"
},
"has_children": false,
"archived": false,
"type": "heading_2",
"heading_2": {
"rich_text": [
{
"type": "text",
"text": {
"content": "Lacinato kale",
"link": null
},
"annotations": {
"bold": false,
"italic": false,
"strikethrough": false,
"underline": false,
"code": false,
"color": "green"
},
"plain_text": "Lacinato kale",
"href": null
}
],
"color": "default",
"is_toggleable": false
}
}
CRUD – Notion API를 사용하여 Notion 비공개 페이지 블록 콘텐츠 업데이트
Notion 페이지 콘텐츠 검색뿐만 아니라 업데이트도 동일한 API 엔드포인트 경로를 사용합니다. 여기서는 'get' 메서드를 사용하는 대신 특정 페이지블록 콘텐츠를 업데이트하기 위한 패치 메서드가 필요합니다.
response = requests . request (
"PATCH" ,
url ,
headers = headers ,
json ={ "children" : [ text_block ]}
)
특정 콘텐츠 유형 및 형식에 따라 키 자식이 있는 JSON 데이터도 필요합니다. 다음은 샘플입니다.
text_block = {
"type" : "paragraph" ,
"paragraph" : {
"rich_text" :[{
"type" : "text" ,
"text" : {
"content" : textBook ,
"link" : None
}
}]
}
}
CRUD – 개념 삭제
Notion에서 Notion 페이지를 삭제하는 것을 아카이브라고 합니다. API를 통해 페이지를 보관하려면 보관된 본문 매개변수를 true 로 설정하여 페이지 업데이트 요청을 보냅니다 . 페이지를 복원하려면 archived를 false 로 설정하십시오 .
새로운 페이지를 생성하는 전체 스크립트가 궁금하시다면 " Chapter 75 + notion API "라는 메시지를 남겨 구독해주세요.
Notion API를 사용하여 검색 및 업데이트의 전체 Python 스크립트
Chapter 75 – Notion API & Python을 사용한 CRUD Notion 페이지 콘텐츠에 관심이 있으신 분은 'Chapter 75 + notion api'라는 메시지를 추가하여 뉴스레터를 구독 해 주세요. . 귀하의 사서함으로 스크립트를 즉시 보내드립니다.
Chapter 75 – Notion API 및 Python을 사용한 CRUD Notion 페이지 콘텐츠를 즐겁게 읽으시기 바랍니다. 그렇다면 아래 나열된 항목 중 하나를 수행하여 지원해 주세요. 항상 채널에 도움이 되기때문입니다.
- PayPal( paypal.me/Easy2digital )을 통해 채널을 지원하고 기부하세요.
- 제 채널 구독하시고 알림벨을 켜주세요 Easy2Digital 유튜브 채널 .
- 내 페이지 팔로우 및 좋아요 Easy2Digital Facebook 페이지
- #easy2digital 해시태그를 사용하여 소셜 네트워크에 기사를 공유하세요.
- Easy2Digital 최신 기사, 비디오 및 할인 코드를 받으려면 주간 뉴스레터에 가입하십시오.
- 독점적인 혜택을 누리려면 Patreon을 통해 월간 멤버십을 구독하세요( www.patreon.com/louisludigital ).