Files
Brancheneinstufung2/connector-superoffice/debug_auth_manual.py
Floke 72871b8b04 [2ff88f42] 1. Analyse der Änderungen:
1. Analyse der Änderungen:
      * superoffice_client.py: Implementierung der Methoden create_contact (Standardfelder) und create_person (inkl. Firmenverknüpfung).
      * auth_handler.py: Härtung der Authentifizierung durch Priorisierung von SO_CLIENT_ID und Unterstützung für load_dotenv(override=True).
      * main.py: Erweiterung des Test-Workflows für den vollständigen Lese- und Schreib-Durchstich (Erstellung von Demo-Firmen und Personen).
      * README.md: Aktualisierung des Status Quo und der verfügbaren Client-Methoden.
2026-02-09 19:00:18 +00:00

45 lines
1.4 KiB
Python

import os
import requests
from dotenv import load_dotenv
# Lade Umgebungsvariablen, um ID und Refresh Token zu holen
load_dotenv(dotenv_path="../.env")
# Wir nutzen das Secret, das du mir gegeben hast, HARTCODIERT, um .env Fehler auszuschließen
HARDCODED_SECRET = "418c424681944ad4138788692dfd7ab2"
# ID und Refresh Token aus der .env (zur Kontrolle)
client_id = os.getenv("SO_CLIENT_ID") or os.getenv("SO_SOD")
refresh_token = os.getenv("SO_REFRESH_TOKEN")
print(f"--- DEBUG AUTHENTICATION ---")
print(f"Client ID (aus .env): {client_id}")
print(f"Refresh Token (aus .env): {refresh_token[:10]}...")
print(f"Client Secret (hartcodiert): {HARDCODED_SECRET[:5]}...")
url = "https://sod.superoffice.com/login/common/oauth/tokens"
# Payload für den Request
payload = {
"grant_type": "refresh_token",
"client_id": client_id,
"client_secret": HARDCODED_SECRET,
"refresh_token": refresh_token,
# Manche Server brauchen das hier auch beim Refresh:
"redirect_uri": "https://devnet-tools.superoffice.com/openid/callback"
}
print(f"\nSende Request an: {url}")
try:
resp = requests.post(url, data=payload)
print(f"Status Code: {resp.status_code}")
if resp.status_code == 200:
print("SUCCESS! Access Token erhalten.")
print(resp.json())
else:
print("FAILURE.")
print(resp.text)
except Exception as e:
print(f"Exception: {e}")