Hallo Community
bin derzeit sehr verzweifelt. Ich habe hier eine Menge fragen. Leider verstehe ich die Doku
überhaupt nicht. Was ich verstanden habe ist das ich mir einen Accesstoken besorgen muss
damit ich API abfragen absenden kann die dann im Json Format zurückkommen
Wie in der Doku angegeben habe ich im Developer Portal einen User angelegt und einen API
key bekommen. Habe die Return Redirect URIs mit LOCALHOST/4200/:
Habe dann den Webserver auf Port 4200 gestartet
Habe im Browser folgenden call eingeben
(http)iam.viessmann-climatesolutions.com/idp/v2/authorize?
client_id=unser API Code
&redirect_uri=unser WebServer
&response_type=code
&code_challenge=PKCE Code'
&code_challenge_method=S256&scope=IoT+User+offline_access
müssen uns trotzdem anmelden
Warum auch immer
Nach anmeldung bekomme ich wie beschrieben den Code zurück (soweit so gut
Die Beispiele mit curl funktionieren nicht da der Parameter Code fehlt
Trotzdem scheitern alle weitern Versuche entweder einen neuen Token zu generieren noch einen
zu bekommen
hier meine post Beispiele
(http) nicht erlaubt
(http)iam.viessmann-climatesolutions.com/idp/v3/token
grant_type=authorization_code
&code_verifier={veryfier aus pkceTool 64Bit}'
&client_id=unser API Key aus Portal
&redirect_uri=http://localhost:4200/&code=zurückgegebener code aus server Return
Response 400 invalid Grant
Der call für einen neuen Token scheitert ebenfalls
Url = (https)iam.viessmann-climatesolutions.com/idp/v3/token"
header = "Content-Type: application/x-www-form-urlencoded"
DATEN = "client_id=usere API
&redirect_uri=adr unser Server
&grant_type=authorization_code&code_verifier=PKCE Code 64 Bit generiert
Gelöst! Gehe zu Lösung.
Erstmal solltest Du das Thema verschieben auf Konnektivität.
Dann einmal hier durchlesen:
https://github.com/open3e/open3e/wiki/030-Installation-und-Inbetriebnahme-von-open3E
Wenn dann noch Fragen sind evtl. dort stellen.
Vor allem genauer was Du überhaupt herleiten möchtest.
Hallo
Die Antwort verstehe ich leider nicht
Habe einfach Probleme mit der Api Schnittstellen Programmierung
Können Sie mir da helfen. Der API Post funktioniert bei mir einfach nicht
Hast Du hier ein Client angelegt?:
https://app.developer.viessmann-climatesolutions.com/
In diesem Post wird erklärt wie das funktioniert und wie man das einbindet.
Hast du dir mal das PyViCare-Project angesehen.
https://pypi.org/project/PyViCare/
Dort findest du auch die "Basic Usage" damit und kannst dich dann weiter vortasten.
Natürlich sonst hätte ich ja keinen API Key und hätte auch die Doku nicht
Hallo
hab mal den relevanten Teil meines Programms in den Anhang gepackt
Vieleicht sieht ja jemand etwas
Habe ich gefunden
Da braucht man aber einen oAuth 2.0 Zugang
den habe ich leider nicht
Darum musst du dich nicht kümmern, das bringt PyViCare mit.
Du brauchst nur deine CLIENT_ID aus dem Developers-Portal sowie deine Zugangsdaten.
client_id = "INSERT CLIENT ID" email = "email@domain" password = "password"
Die Datei "token.save" wird dann beim Aufruf der Authentifizierung erzeugt.
vicare.initWithCredentials(email, password, client_id, "token.save")
Hallo an alle Helfer
Vielen Dank erstmal für alles
Ich glaube ich habe das Problem jetzt gelöst
Ich weis eigentlich was ein Bearer Token ist. Der wird im Header als Autorisierung mitgegeben
Das ein Header beim Post notwendig ist habe ich dem Curl- Beispiel entnommen. da ist ja ein Header mit
Content-Type": "application/x-www-form-urlencoded so angegeben.
Im Curl Beispiel fehlt auch der Parameter &Code. Ich dachte erst das man den gesendeten Code als Authorization mit im Header angeben muss also
headers = {"Content-Type": "application/x-www-form-urlencoded",
"Authorization": f'Bearer {gesendeter Code}'}
Funktioniert hat aber so nicht sondern
Generiere einen Token im Developer Portal
sende folgen Header:
headers = {"Content-Type": "application/x-www-form-urlencoded",
"Authorization": f'Bearer {token}'}
post mit
postData = f'grant_type=authorization_code' + \
f'&client_id=API Key' + \
f'&code_verifier={pkce-key}' + \
f'&redirect_uri=aus anmeldung wie definiert/&code={gesendeter code}'
und URL aus der Dokumentation
Für jedenweiteren Call den Header mitgeben bis der Token abgelaufen ist
Ob das genau stimmt weiß ich noch nicht hat jetzt aber erstmal funktioniert
Man oh man das hätte man aber auch in die Doku ganz einfach reinschreiben können dann würde man sich viel Zeit sparen.
Draufgebracht hat mich übrigens folgender artikel
(http etc)rustimation.eu/index.php/1_zugang_api/
Trotzdem vielen Dank an alle
| Benutzer | Anzahl |
|---|---|
| 10 | |
| 4 | |
| 4 | |
| 3 | |
| 3 |