Skip to content

Commit 66914fd

Browse files
authored
Merge pull request #218 from shunyooo/master
Added set_user methods for multi account user
2 parents 446da67 + 8b10e6f commit 66914fd

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

notion/client.py

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,24 @@ def _update_user_info(self):
8585
self.current_space = self.get_space(list(records["space"].keys())[0])
8686
return records
8787

88+
def get_email_uid(self):
89+
response = self.post("getSpaces", {}).json()
90+
return {
91+
response[uid]["notion_user"][uid]["value"]["email"]: uid
92+
for uid in response.keys()
93+
}
94+
95+
def set_user_by_uid(self, user_id):
96+
self.session.headers.update({"x-notion-active-user-header": user_id})
97+
self._update_user_info()
98+
99+
def set_user_by_email(self, email):
100+
email_uid_dict = self.get_email_uid()
101+
uid = email_uid_dict.get(email)
102+
if not uid:
103+
raise Exception(f"Not Found {email}, Available IDs: {list(email_uid_dict)}")
104+
self.set_user_by_uid(uid)
105+
88106
def get_top_level_pages(self):
89107
records = self._update_user_info()
90108
return [self.get_block(bid) for bid in records["block"].keys()]

0 commit comments

Comments
 (0)