import requests import time def get_new_access_token(refresh_token): url = "https://oauth2.hin.ch/REST/v1/OAuth/GetAccessToken" payload = f'grant_type=refresh_token&refresh_token={refresh_token}&client_id=ch.IhreClientID&client_secret={client_secret}' headers = { 'Content-Type': 'application/x-www-form-urlencoded', 'Cookie': 'ObSSOCookie=/e0Sgr3R5FiCiOt+crc934SUK8g1RfTpUpytOJJ3sIivmXUBB3voBCq9lOc5j7A3/tYG3aTaT8Q-' } response = requests.post(url, headers=headers, data=payload) print(response.text) if response.status_code == 200: token_data = response.json() new_access_token = token_data['access_token'] # Optional: Ein neues Refresh-Token zurückgeben, wenn es vorhanden ist new_refresh_token = token_data.get('refresh_token', refresh_token) return new_access_token, new_refresh_token else: print(f"Fehler beim Abrufen des Tokens: {response.status_code} - {response.text}") return None, refresh_token # Beispiel-Schleife, die regelmäßig das Access Token erneuert def main(): refresh_token = 'rteqr4' # Dein initiales Refresh Token while True: # Hier würde der Code für die Nutzung des Access Tokens kommen print("Verwende das Access Token, um auf Ressourcen zuzugreifen...") # Hole ein neues Access Token new_access_token, refresh_token = get_new_access_token(refresh_token) if new_access_token: print(f"Neues Access Token erhalten: {new_access_token}") # Hier kannst du den Zugriff mit dem neuen Access Token fortsetzen else: print("Fehler beim Erneuern des Tokens. Bitte überprüfen Sie die Anmeldedaten.") break # Schleife stoppen, wenn das Token nicht erneuert werden konnte # Wartezeit, um das Access Token regelmäßig zu erneuern time.sleep(3600) # z.B. 1 Stunde warten, bevor das Token wieder erneuert wird if __name__ == "__main__": main() |