Notion API를 사용한 데이터베이스 작업

15217 단어 NotionNotionAPI
개시하다
노션의 API는 2021년 5월 공개 베타 버전으로 발매됐다.
오래 기다리셨습니다.드디어 노션의 API가 공중 베타로 바뀌었다🎉이것은 소프트웨어를 자신의 업무 흐름에 따라 맞춤형으로 제작하기 위한 것이다. 새로운 스타일링을 향한 한 걸음이다. 여러분과 함께 무엇을 할지 기대된다. 일본어의 설명은 여기서부터 시작된다-Notion Japan🇯🇵 (@NotionJP) https://t.co/KMWab0BXpR

공용 베타 버전은 Notion 데이터베이스, 페이지, 블록에 연결하는 API를 제공합니다br/>
이번에는 데이터베이스 연결과 조작 방법을 소개합니다.



통합된 만들기


우선 아래 페이지부터 화면 설명에 따라 포인트를 만들고'내부 통합'영패를 발행합니다p>


※ 영패를 외부에 공개하지 않도록 주의하세요br/>
※ 며칠 전 노션에서 일본어 버전이 공개됐는데, 영어 설정에 불안해하는 분들은 언어 설정 변경을 추천합니다.



데이터베이스에 연결


이번에 데이터베이스 조작을 위해 방금 만든 포인트와 데이터베이스를 먼저 연결(공유)합니다br/>
조작하고 싶은 데이터베이스를 표시합니다. 화면 오른쪽 위의 공유 (Share) > 초대장 (invite) 에서 방금 만든 포인트를 추가합니다.br/>
※ 이번에 전체 페이지 데이터베이스 만들기br/>
May 13, 2021


이(가) 방금 "TEST API"라는 이름으로 권한 초대 객체의 포인트를 편집하기 위해 포인트를 만들었습니다.



데이터베이스 작업



사전 준비


데이터베이스 작업을 수행하려면 데이터베이스의 ID와 토큰이 필요합니다.


영패영패는 "포인트 만들기"에서 발행한 영패를 사용합니다br/>
포인트 관리 페이지가 여기 있습니다.



데이터베이스 ID

데이터베이스 ID는 URL에서 얻을 수 있으므로 응용 프로그램을 사용할 때 화면 오른쪽 위에 있는 "Share"와 "Copy link"에서 브라우저에서 액세스한 URL을 복사하여 www.notion.so/?v= 사이의 32자를 얻을 수 있습니다.32자는 데이터베이스 ID입니다.

※ 작업공간 명칭이 있을 경우 www.notion.so/myworkspace/ 이후 문자열을 획득합니다.


https://www.notion.so/myworkspace/a8aec43384f447ed84390e8e42c2e089?v=...
                                  |--------- Database ID --------|

※ 引用元: https://developers.notion.com/docs/getting-started 


데이터 추가


먼저 데이터베이스에 데이터를 추가합니다

공식 가이드를 참조하여 터미널에서 실행curlbr/>
다음 명령의 $NOTION_KEY에 토큰을 지정하고 $NOTION_DATABASE_ID에 데이터베이스 ID를 지정합니다.


curl -X POST https://api.notion.com/v1/pages \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Content-Type: application/json" \
  -H "Notion-Version: 2021-08-16" \
  --data "{
    \"parent\": { \"database_id\": \"$NOTION_DATABASE_ID\" },
    \"properties\": {
      \"title\": {
        \"title\": [
          {
            \"text\": {
              \"content\": \"データ追加\"
            }
          }
        ]
      }
    }
  }"

Getting started


위에서 말한 바와 같이 데이터가 추가되었습니다.




다음 지정 Multi-select 데이터 추가br/>
이번에 Multi-select에서 NotionAPIp>

curl -X POST https://api.notion.com/v1/pages \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Content-Type: application/json" \
  -H "Notion-Version: 2021-08-16" \
  --data "{
    \"parent\": { \"database_id\": \"$NOTION_DATABASE_ID\" },
    \"properties\": {
      \"Name\": {
        \"title\": [
          {
            \"text\": {
              \"content\": \"Tagsを設定して追加\"
            }
          }
        ]
      },
        \"Tags\": {
          \"multi_select\": [
            {
              \"name\": \"Notion\"
            },
            {
              \"name\": \"API\"
            }
          ]
        }
    }
  }"

002.png


NamesTags 두 가지 모두 지정 및 추가 가능br/>Multi-select에 없는 옵션을 추가할 수도 있습니다.p>


데이터 업데이트


다음은 데이터 업데이트입니다.

문자열 Tags 설정 및 추가를 데이터 수정으로 수정을 시도합니다.p>
페이지 ID 획득


Notion 데이터베이스는 페이지라는 개념의 집합체이기 때문에 업데이트할 때 업데이트 대상의 페이지 ID를 받아야 한다br/>
페이지 ID도 API를 통해 얻을 수 있는 방법이 있는데 이번에는 데이터베이스 ID와 마찬가지로 URL에서 얻을 수 있다br/>
URL은 "Share"및 "Copy link"에서 업데이트할 페이지를 선택할 수 있습니다.



에서 가져온 페이지 URL의 끝에 있는 문자열(((https://www.notion.so/xxxxxxxxx부분)은 페이지 ID이므로 아래 노드에서 페이지 ID를 지정하여PATCH 요청을 진행합니다br/>
※ URL 획득 방법에 따라 URL 구성도 달라질 수 있음


# エンドポイント
https://api.notion.com/v1/pages/$PAGE_ID

curl -X PATCH https://api.notion.com/v1/pages/$PAGE_ID \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Content-Type: application/json" \
  -H "Notion-Version: 2021-08-16" \
  --data "{
    \"parent\": { \"database_id\": \"$NOTION_DATABASE_ID\" },
    \"properties\": {
      \"Name\": {
        \"title\": [
          {
            \"text\": {
              \"content\": \"データ修正\"
            }
          }
        ]
      }
    }
  }"


제1열의 "Tags 설정 및 추가"문자열이 "데이터 수정"으로 수정됨p>


데이터 삭제 (압축 파일)


마지막으로 데이터 삭제를 시도합니다.

이전에 업데이트된 API의 매개변수archived와 설정true을 추가하여 데이터를 삭제할 수 있으므로 삭제가 매우 간단합니다.p>

curl -X PATCH https://api.notion.com/v1/pages/$PAGE_ID \
  -H "Authorization: Bearer $NOTION_KEY" \
  -H "Content-Type: application/json" \
  -H "Notion-Version: 2021-08-16" \
  --data "{
    \"parent\": { \"database_id\": \"$NOTION_DATABASE_ID\" },
    \"archived\": true,
    \"properties\": {
      \"Name\": {
        \"title\": [
          {
            \"text\": {
              \"content\": \"データ修正\"
            }
          }
        ]
      }
    }
  }"


데이터 수정 레코드 삭제br/>
또한 \"archived\": false를 지정하여 데이터를 복구할 수도 있습니다.



총결산


이번에 Notino API를 사용하여 데이터베이스 조작을 하고 데이터(페이지)를 추가, 업데이트, 삭제하는 방법을 소개했습니다.br/>
기타 다양한 API가 노트에 공개되었으니 관심 있는 분들은 아래 참조 링크를 확인하십시오



참조 링크






내일 씨는 "엔지니어가 아닌 프로듀서 매니저가 회사 내 빅데이터를 광고 활용 업무에 활용했다"고 말했다.br/>
계속 즐겨주세요@masaseat!


좋은 웹페이지 즐겨찾기