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()
Haben Sie noch Fragen?
Kontaktieren Sie uns, falls Ihre Frage nicht geklärt werden konnte.