|
|
|
@@ -138,17 +138,24 @@ class NotionExtractor(BaseExtractor): |
|
|
|
block_url = BLOCK_CHILD_URL_TMPL.format(block_id=page_id) |
|
|
|
while True: |
|
|
|
query_dict: dict[str, Any] = {} if not start_cursor else {"start_cursor": start_cursor} |
|
|
|
res = requests.request( |
|
|
|
"GET", |
|
|
|
block_url, |
|
|
|
headers={ |
|
|
|
"Authorization": "Bearer " + self._notion_access_token, |
|
|
|
"Content-Type": "application/json", |
|
|
|
"Notion-Version": "2022-06-28", |
|
|
|
}, |
|
|
|
params=query_dict, |
|
|
|
) |
|
|
|
data = res.json() |
|
|
|
try: |
|
|
|
res = requests.request( |
|
|
|
"GET", |
|
|
|
block_url, |
|
|
|
headers={ |
|
|
|
"Authorization": "Bearer " + self._notion_access_token, |
|
|
|
"Content-Type": "application/json", |
|
|
|
"Notion-Version": "2022-06-28", |
|
|
|
}, |
|
|
|
params=query_dict, |
|
|
|
) |
|
|
|
if res.status_code != 200: |
|
|
|
raise ValueError(f"Error fetching Notion block data: {res.text}") |
|
|
|
data = res.json() |
|
|
|
except requests.RequestException as e: |
|
|
|
raise ValueError("Error fetching Notion block data") from e |
|
|
|
if "results" not in data or not isinstance(data["results"], list): |
|
|
|
raise ValueError("Error fetching Notion block data") |
|
|
|
for result in data["results"]: |
|
|
|
result_type = result["type"] |
|
|
|
result_obj = result[result_type] |