NEWS
[gelöst] HTTPS Request mit node-fetch
-
Hallo zusammen,
meine fähikeiten mit Javascripts sind sehr begrenzt, trotzdem würde ich gerne ein HTTPS Request mit node-fetch realisieren.
Ich möchte gerne Daten die von einem Dienstleister zu Verfügung gestellt werden abrufen. Dieser hat mit ein Skript fertig zu Verfügung gestellt welches ich auch schon eingebunden habe. Das funktioniert auch ohne Probleme, nur das empfangende Json bekomme ich nur im Log angezeigt. Um das weiter zu bearbeiten brauche ich das JSON im "ioBroker". Kann mir einer einen tip geben wie ich das JASON nach " 0_userdata.0.GridX_Daten.jsonDaten" bekomme.
const { default: fetch }=require("node-fetch"); const options = { method: 'GET', headers: { accept: 'application/vnd.gridx.v2020.11.09+json', authorization: 'XXXXXXXXXXXXX' } }; fetch('https://api.gridx.de/clusters/XXXXXXXXXX/appliances/XXXXXXXXXX/constraints?order_by=priority&limit=1', options) .then(response => response.json())) .then(response => console.log(response)) .catch(err => console.error(err));
-
@profoxion in dem Du in Zeile 15, hinter dem Pfeil statt console.log(response), den response stringifiziert in deinen Datenpunkt schreibst. setState(id, JSON.stringify(response)). Du musst halt die Syntax von setState nachschlagen und statt Id den Pfad zum Darenpunkt angeben.
Also Zeile 15
.then(response => console.log(response))
In
.then(response => setState(" 0_userdata.0.GridX_Daten.jsonDaten" , JSON.stringify(response))
-
Danke für deine Hilfe
Funktioniert
const { default: fetch }=require("node-fetch"); const options = { method: 'GET', headers: { accept: 'application/vnd.gridx.v2020.11.09+json', authorization: 'tokenXXXXXXXXX' } }; fetch('https://api.gridx.de/clusters/XXXXXXX/appliances/XXXXXXXXXXX/constraints?order_by=priority&limit=1', options) .then(response => response.json()) .then(response => setState('0_userdata.0.GridX_Daten.jsonDaten',JSON.stringify(response),true)) .catch(err => console.error(err));