Reference URL : Retrieve a database, Retrieve a user
database
의 정보를 알아내기 위해 retrieve
를 진행해보겠습니다.
database_id
를 알려면 search
를 사용해야 합니다.
databases = notion.search(filter={"property": "object", "value": "database"})
pprint(databases)
API Bot 조회 권한이 있는 database
정보들이 노출될 겁니다. 여기서 필요한 database
의 id
를 가져옵니다.
{'has_more': False,
'next_cursor': None,
'object': 'list',
'page_or_database': {},
'results': [{'archived': False,
... ,
'icon': {'emoji': '🍕', 'type': 'emoji'},
'id': '021eb424-7a41-47ae-9252-f67d4f6e6b05', # database_id
마찬가지로 'results'
는 list
이기 때문에 첫번째 'id'
를 가져오려면 [0]
, 두번째는 [1]
로 가져오시면 됩니다. 우선 예시는 첫번째 database
의 id
를 가져오는 걸로 하겠습니다.
database_id = databases['results'][0]['id']
이제 위 database_id
로 retrieve
하여 정보를 가져오도록 합니다.
database_details = notion.databases.retrieve(database_id=database_id)
pprint(database_details)
그리고 retrieve
한 database
정보를 보시다보면, 하기와 같이 'id'
는 있는데 UUID(범용 고유 식별자) 형태의 id
가 있습니다. UUID 형태로는 이게 누구인지 알 수 없기 때문에 해당 user
의 id
를 기입하면 조회가 가능한 기능이 있습니다.
'created_by': {'id': 'edfacc72-eb15-467b-9fdb-d5b656e1c77b', 'object': 'user'},
우선 database_detail
에서 'created_by'
의 user_id
를 가져와보겠습니다.
created_user = database_details['created_by']['id']
이제 이 id
로 retrieve
를 호출해보겠습니다.
created_user_info = notion.users.retrieve(user_id=created_user)
pprint(created_user_info)
찍어보니 사용자 이름과 이메일 정보가 나왔네요.
{'avatar_url': None,
'id': 'edfacc72-eb15-467b-9fdb-d5b656e1c77b',
'name': 'Chan Chan',
'object': 'user',
'person': {'email': 'chanbaek@kakao.com'},
'type': 'person'}