찬찬의 Notion API 정복기 22 - API 집중분석 - Retrieve a database & Retrieve a user

소찬 (Chan)·2022년 12월 6일
0
post-thumbnail

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 정보들이 노출될 겁니다. 여기서 필요한 databaseid를 가져옵니다.

{'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]로 가져오시면 됩니다. 우선 예시는 첫번째 databaseid를 가져오는 걸로 하겠습니다.

database_id = databases['results'][0]['id']

이제 위 database_idretrieve 하여 정보를 가져오도록 합니다.

database_details = notion.databases.retrieve(database_id=database_id)
pprint(database_details)

그리고 retrievedatabase 정보를 보시다보면, 하기와 같이 'id'는 있는데 UUID(범용 고유 식별자) 형태의 id가 있습니다. UUID 형태로는 이게 누구인지 알 수 없기 때문에 해당 userid를 기입하면 조회가 가능한 기능이 있습니다.

'created_by': {'id': 'edfacc72-eb15-467b-9fdb-d5b656e1c77b', 'object': 'user'},

우선 database_detail에서 'created_by'user_id를 가져와보겠습니다.

created_user = database_details['created_by']['id']

이제 이 idretrieve를 호출해보겠습니다.

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'}
profile
QA Specialist

0개의 댓글