찬찬의 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

0개의 댓글