Files
Brancheneinstufung2/company-explorer/backend/scripts/notion_tools/debug_notion_search.py
Floke d021b6b71c refactor: [30388f42] Strukturiere Root-Skripte thematisch neu
- Organisiert eine Vielzahl von Skripten aus dem Root-Verzeichnis in thematische Unterordner, um die Übersichtlichkeit zu verbessern und die Migration vorzubereiten.
- Verschiebt SuperOffice-bezogene Test- und Hilfsskripte in .
- Verschiebt Notion-bezogene Synchronisations- und Import-Skripte in .
- Archiviert eindeutig veraltete und ungenutzte Skripte in .
- Die zentralen Helfer  und  bleiben im Root, da sie von mehreren Tools als Abhängigkeit genutzt werden.
2026-03-06 10:16:08 +00:00

64 lines
2.3 KiB
Python

import requests
import json
from getpass import getpass
def debug_search_databases():
print("--- Notion Datenbank Such-Debugger ---")
token = getpass("Bitte gib deinen Notion API Key ein (Eingabe wird nicht angezeigt): ")
if not token:
print("\nFehler: Kein Token eingegeben. Abbruch.")
return
print("\n... Sende Suchanfrage an Notion für alle Datenbanken...")
url = "https://api.notion.com/v1/search"
headers = {
"Authorization": f"Bearer {token}",
"Content-Type": "application/json",
"Notion-Version": "2022-06-28"
}
payload = {
"filter": {
"value": "database",
"property": "object"
},
"sort": {
"direction": "ascending",
"timestamp": "last_edited_time"
}
}
try:
response = requests.post(url, headers=headers, json=payload)
response.raise_for_status() # Hebt HTTPError für 4xx/5xx Statuscodes hervor
results = response.json().get("results", [])
if not results:
print("\nKeine Datenbanken gefunden, auf die die Integration Zugriff hat.")
print("Bitte stelle sicher, dass die Integration auf Top-Level-Seiten geteilt ist.")
return
print(f"\nGefundene Datenbanken ({len(results)} insgesamt):")
print("--------------------------------------------------")
for db in results:
db_id = db["id"]
db_title_parts = db.get("title", [])
db_title = db_title_parts[0].get("plain_text", "(Unbenannt)") if db_title_parts else "(Unbenannt)"
print(f"Titel: '{db_title}'\n ID: {db_id}\n")
print("--------------------------------------------------")
print("Bitte überprüfe die genauen Titel und IDs für 'Projects' und 'All Tasks'.")
except requests.exceptions.RequestException as e:
print(f"\n❌ FEHLER! Fehler bei der Suche nach Datenbanken: {e}")
if hasattr(e, 'response') and e.response is not None:
print(f"HTTP Status Code: {e.response.status_code}")
try:
print(f"Antwort des Servers: {json.dumps(e.response.json(), indent=2)}")
except:
print(f"Antwort des Servers: {e.response.text}")
if __name__ == "__main__":
debug_search_databases()