찬찬의 Notion API 정복기 06 - 내용을 바꿔보자 (하)

소찬 (Chan)·2022년 8월 15일
0
post-thumbnail

하기의 값이 업데이트가 준비된 형태의 값입니다.
밑의 값으로 업데이트를 해보겠습니다.

{'rich_text': [{'annotations': {'bold': False,
                                'code': False,
                                'color': 'default',
                                'italic': False,
                                'strikethrough': False,
                                'underline': False},
                'href': None,
                'plain_text': '크러스트가 취향저격',
                'text': {'content': '크러스트가 취향저격', 'link': None},
                'type': 'text'}]}

https://developers.notion.com/reference/update-a-block
API 문서를 열어보니 blockid 는 Update 할 Block의 id인건 짐작하실 수 있었을 겁니다. 그런데 BODY PARAMS
에 적혀있는 {type} _object
는 뭘 뜻하는 걸까요?
이 부분을 알기 위해서 업데이트 할 block_id 의 형태를 읽어올 필요가 있습니다.

contents = notion.blocks.retrieve(block_id=target_block_id)
pprint(contents)

{'archived': False,
 'created_by': {'id': 'edfacc72-eb15-467b-9fdb-d5b656e1c77b', 'object': 'user'},
 'created_time': '2022-04-02T11:59:00.000Z',
 'has_children': False,
 'id': '27b0ad2f-5698-4f7c-ab07-00f174042264',
 'last_edited_by': {'id': 'edfacc72-eb15-467b-9fdb-d5b656e1c77b',
                    'object': 'user'},
 'last_edited_time': '2022-04-02T12:00:00.000Z',
 'object': 'block',
 'paragraph': {'color': 'default',
               'rich_text': [{'annotations': {'bold': False,
                                              'code': False,
                                              'color': 'default',
                                              'italic': False,
                                              'strikethrough': False,
                                              'underline': False},
                              'href': None,
                              'plain_text': '페퍼로니가 취향저격',
                              'text': {'content': '페퍼로니가 취향저격', 'link': None},
                              'type': 'text'}]},
 'parent': {'page_id': '1f217cc1-225f-4580-8e22-cd7eb8db3c5e',
            'type': 'page_id'},
 'type': 'paragraph'}

'rich_text'의 상위 Key를 확인하시면 됩니다. 키 이름이 뭘로 되어있나요? 'paragraph'로 되어있습니다.
'paragraph'{type} 중 하나로 보시면 됩니다. type 은 형태가 여러가지가 있기 때문에 일일히 암기하는건 무리가 있습니다.
필요하실 때 마다 하기 block 문서를 꺼내서 type 종류가 뭐가 있는지 확인해보시는 것을 권해드립니다.
https://developers.notion.com/reference/block

그러면 {type}'paragraph'인걸 알았으니, 이걸 업데이트 하는 코드를 실행해보겠습니다.
block_id에는 지난번에 저장한 target_block_id 를 넣어주시면 되시고,
{type}에는 rich_text를 넣어주면 되는데,
{type}이 paragraph 이므로 paragraph=rich_text 로 넣어주시면 됩니다.

notion.blocks.update(block_id=target_block_id, paragraph=rich_text)


바뀐게 보이시나요? 보이셨다면 성공입니다.

profile
QA Specialist

1개의 댓글

comment-user-thumbnail
2024년 2월 8일

파이썬 하나도 모르는 상태로 시작해서 하나 하나 읽고 검색하면서 배우고 있는데 직접 적용이 되니까 너무 재밌네요. 한국어로 설명하는 글이 없고 대부분 영어여서 영포자인 저로서는 여기가 한줄기 희망이네요 ㅎㅎ 감사합니다!

답글 달기