노션(Notion) API를 사용하여, 파일 다운로드 기능 만들기. 파이썬(Python) 예제

VDoring·2022년 8월 10일
0

프로그램을 개발하다 보면, 파일 다운로드 기능을 만들어야 할 때가 있습니다.

그러나, 만들고자 하는 프로그램의 크기가 작아, 새로 데이터베이스를 만들기 애매한 경우가 있습니다.

대용량 파일을 다운로드해야 하는 경우라면 추가 비용이 나올 수 있고요.

그럴 때 간단하고, 무난하게 사용할 수 있는 방법이 있습니다.

바로, Notion(노션)을 활용하는 것입니다.

노션(Notion)은 기본 메모 기능과 더불어, 대용량 파일 업로드와 다운로드를 지원합니다.

학교 이메일이 있다면, 학생 요금제를 통해, 파일을 크기 제한, 개수 제한 없이 업로드할 수 있습니다. 아무 비용도 들지 않습니다.

이번 글에서는, 노션API를 이용하여, 파일을 다운로드하는 방법을 알아보겠습니다.

간결하고 구현하기 쉬운 파이썬(Python) 언어를 통해 만들어보도록 할게요.

어렵지 않습니다. 한 단계씩 차근차근 진행할게요~


노션(Notion) 회원가입과 로그인이 완료된 상태를 가정하여 작성하겠습니다.

  1. 먼저, 공유하고 싶은 파일을 노션에 올립니다.

  2. https://developers.notion.com/ 사이트로 들어갑니다. 그리고 오른쪽 상단의 메뉴를 클릭합니다.

  3. '+ 새 API 통합' 버튼을 누릅니다. 둘 중 하나만 누르면 됩니다.

  4. API 이름과 로고 이미지(선택사항), 기능을 선택합니다.

  5. API가 만들어졌습니다!

  1. 다시 노션 페이지로 돌아갑니다. 그리고 상단의 '공유' 버튼을 누릅니다.

  2. '초대' 버튼을 눌러, 자신이 생성한 API를 선택합니다.

  3. 그리고 '초대' 버튼을 누르면, API가 해당 노션 페이지에 적용됩니다.

잘 따라오셨습니다. 이제 코드를 작성해 보도록 할게요~

  1. 아래의 코드를 복사합니다.
import json
import requests

notion_api_link = "https://api.notion.com/v1/blocks/{블럭 ID}"

headers = {
    "Authorization": "{프라이빗 API 통합 토큰}",
    "Accept": "application/json",
    "Notion-Version": "2022-06-28"
}

response = requests.get(notion_api_link, headers=headers)

if response.status_code == 200:
    print('다운로드 링크 받아오기 성공!')
    json_data = json.loads(response.text)
    file_download_url_link = json_data['file']['file']['url']  # 받아온 Json 데이터에서 파일 URL 링크만 분리
else:
    print('다운로드 링크 받아오기 실패.')
    file_download_url_link = "ERROR"

print(file_download_url_link)

  1. 먼저, 등록한 파일을 우클릭하고, 블록의 링크를 복사합니다.

  2. 복사한 링크는 이런 형식입니다.

https://www.notion.so/vdoring/My-File-Page-9ea5750d660b4c719125821033a9cb09#bf976628b38d4fb1b21c720db46fed70

여기서, '#' 이후의 값을 복사합니다. 저의 경우 이렇게 되겠네요.

bf976628b38d4fb1b21c720db46fed70

이것이 '블록 ID'입니다.

  1. '블록 ID'를 복사하여, 파이썬 코드의 {블록 ID} 부분에 붙여 넣습니다.
  1. 노션 API 관리 페이지로 돌아가서, '보기' 버튼을 눌러, '프라이빗 API 통합 토큰 값'을 복사합니다.

  2. 그리고 파이썬 코드의 {프라이빗 API 통합 토큰} 부분에 '프라이빗 API 통합 토큰 값'을 붙여 넣습니다.

  3. 그리고 파이썬 코드를 실행합니다. 아래와 같이 파일 다운로드 링크가 나오면 성공입니다.

이제, 이 파일 다운로드 링크를 가지고 여러분 입맛대로 만들어나갈 수 있습니다!


사실, 저도 이 방법을 알기 위해, 노션 공식 개발자에게 직접 물어보기도 했답니다.


노션 개발자분은 굉장히 친절하게 답변해 주셨습니다.

고마워요, Stephen!

profile
< Beginners Heart >

0개의 댓글