🗄️ 데이터센터
home
주식거래 데이터
home

노션 블럭 삭제

노션에 추가한 블럭블럭 ID를 통해 삭제할 수 있습니다. 우선 블럭의 ID를 알아야 하는데, 다행히 우리는 이미 노션 페이지의 블럭을 확인하는 함수를 가지고 있습니다. API 등록 시 페이지 연결을 테스트할 때 만들었던 것이죠!

블럭 조회

이전에 해봤지만, 함수를 사용해서 페이지를 다시 한 번 확인해보겠습니다
import requests # requests페이지참고 notionApiKey = notionApiKey # 사용자의 API키입력 # 함수 페이지 참고 # 함수요약 페이지 참고 def getBlock(notionPageId): url = f"https://api.notion.com/v1/blocks/{notionPageId}/children" headers = { "Authorization": f"Bearer {notionApiKey}", "Content-Type": "application/json", "Notion-Version": "2022-06-28" } response = requests.get(url, headers=headers) if response.status_code != 200: print(f"[오류] 노션 블럭 조회 실패: {response.status_code}, {response.text}") return [] blocks = response.json().get("results", []) return blocks notionPageId = '1658844c10b7807b8391d5a11e7a4dff' # 연동할 페이지 ID입력 getBlock(notionPageId)
Python
복사

블럭삭제

블럭 삭제 함수는 해당 블럭의 ID만 있으면 됩니다. 블럭 ID고유값이기 때문에 페이지를 지정하지 않아도 되며, requestsdelete 함수로 삭제 요청을 할 수 있습니다.
# 블록 삭제 함수 def deleteBlock(blockId): url = f"https://api.notion.com/v1/blocks/{blockId}" headers = { "Authorization": f"Bearer {notionApiKey}", "Content-Type": "application/json", "Notion-Version": "2022-06-28" # Notion API 버전 } response = requests.delete(url, headers=headers) print(f"{blockId} 삭제!" if response.status_code == 200 else f"{blockId} 삭제 실패: {response.status_code}") # 삭제할 블록 ID blockId = "1758844c-10b7-8113-ad3e-f57deb5f7abe" deleteBlock(blockId)
Python
복사

블럭 검색의 필요성

블럭ID를 확인하고 deleteBlock 함수로 제거하는 것은 수작업입니다. 이를 자동화할 수 있을까요? 자동화를 위해서는 먼저 원하는 조건의 블록을 찾을 수 있어야 합니다. 블록을 자유롭게 찾을 수 있다면 삭제, 업데이트, 추가 작업을 더욱 효율적으로 수행할 수 있습니다.
블록을 추가할 때 사용자가 직접 ID를 지정할 수 있다면 좋겠지만, 아쉽게도 노션은 이러한 기능을 제공하지 않습니다.
따라서 직접 찾는 방법을 배워야 합니다. 결국 페이지 내의 리스트에서 원하는 조건을 찾아내는 것이므로, 리스트딕셔너리를 활용하는 방법을 익히면 됩니다. 다음 페이지에서 검색 방법을 자세히 알아보겠습니다.