NEWS
[Frage] Wie kann ich auf einen Discovergy-Zähler zugreifen
-
Hallo zusammen,
bisher konnte ich per einfachem HTTPS-Aufruf auf meinen Discovergy-Zähler zugreifen. Nun wird die API aber geändert. Auf der Webseite https://api.discovergy.com/docs/ ist dieses beschrieben.
Aber bereits den ersten Aufruf:````
POST /public/v1/oauth1/consumer_token
Accept: text/html, image/gif, image/jpeg, *; q=.2, /; q=.2
Content-Type: application/x-www-form-urlencodedclient=MyOwnClient
mitvar form =
{ "Accept": "text/html, image/gif, image/jpeg, *; q=.2, /; q=.2",
"Content-Type": "application/x-www-form-urlencoded"
};url = "https://api.discovergy.com/public/v1/oauth1/consumer_token";
request.post({url:url, form:form}, function (e, r, body) {
log(body);
});bekomme ich die Fehlermeldung ` > Missing required parameter: client ` , ich habe aber keine Ahnung, wie ich diesen Parameter dazu bekomme. Hat jemand eine Idee? der Flossdorfer -
Ich habe zwar keine Ahnung von dieser API, aber ich würde es so versuchen:
var form = { "Accept": "text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2", "Content-Type": "application/x-www-form-urlencoded" "client": "MyIoBroker" }; url = "https://api.discovergy.com/public/v1/oauth1/consumer_token"; request.post({url:url, form:form}, function (e, r, body) { log(body); }); -
hi,
wir probieren auch gerade die ersten schritte mit der api, mit diesem code bekommen wir ein token :
var form = { "Accept": "text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2", "Content-Type": "application/x-www-form-urlencoded", "client": "MyIoBroker" }; url = "https://api.discovergy.com/public/v1/oauth1/consumer_token"; request.post({url:url, form:form}, function (e, r, body) { log(body); });Dan kommt
{"key":"xxxxxxxxxx","secret":"xxxxxxxxxx","owner":"MyIoBroker","attributes":{},"principal":null}soweit so gut, jetzt scheiteren wir aber beim aufbau des naesten befehls. Das script hier oben isrt laut docu aufgebaut :
POST /public/v1/oauth1/consumer_token Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Content-Type: application/x-www-form-urlencoded client=MyOwnClientals naestes muesste laut docu dieser schritt folgen :
POST /public/v1/oauth1/request_token Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Authorization: OAuth oauth_consumer_key="btgd2cg2bm3lbjqsfv150fj9q8", oauth_signature_method="HMAC-SHA1", oauth_timestamp="1467792887", oauth_nonce="9fd50a6f-40e0-41be-8809-34aa832b688e", oauth_callback="oob", oauth_signature="hcE6Q3boTytkHmM72xegCP1Y3W4%3D"https://api.discovergy.com/docs/
probiert haben wir :
var form = { "Accept": "text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2", "Authorization": "OAuth", "oauth_consumer_key": "xxxxxxxxxx", "oauth_signature_method": "HMAC-SHA1", "oauth_timestamp": "1467792887", "oauth_nonce": "9fd50a6f-40e0-41be-8809-34aa832b688e", "oauth_callback": "oob", "oauth_signature": "hcE6Q3boTytkHmM72xegCP1Y3W4%3D" }; url = "https://api.discovergy.com/public/v1/oauth1/request_token"; request.post({url:url, form:form}, function (e, r, body) { log(body); });leider kommt dan aber :
HTTP ERROR 400 Problem accessing /public/v1/oauth1/request_token. Reason: Bad Requestseit ihr weiter gekommen ?
-
Hab jetzt mal probiert die anderen werte als header zu uebergeben leider auch ohne erfolg:
var req = require('request'); req.post({ url: 'https://api.discovergy.com/public/v1/oauth1/request_token', form: { "Accept": "text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2"}, headers: { "oauth_consumer_key": "xxxxxxx", "oauth_signature_method": "HMAC-SHA1", "oauth_timestamp": "1467792887", "oauth_nonce": "9fd50a6f-40e0-41be-8809-34aa832b688e", "oauth_callback": "oob", "oauth_signature": "hcE6Q3boTytkHmM72xegCP1Y3W4%3D" }, method: 'POST' }, function (e, r, body) { console.log(body); }); -
Also wenn ich es korrekt verstehe müsste
var req = require('request'); req.post({ url: 'https://api.discovergy.com/public/v1/oauth1/request_token', headers: { "Accept": "text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2", "Authorization: "OAuth" }, headers: { "oauth_consumer_key": "xxxxxxx", "oauth_signature_method": "HMAC-SHA1", "oauth_timestamp": "1467792887", "oauth_nonce": "9fd50a6f-40e0-41be-8809-34aa832b688e", "oauth_callback": "oob", "oauth_signature": "hcE6Q3boTytkHmM72xegCP1Y3W4%3D" }, method: 'POST' }, function (e, r, body) { console.log(body); });Generell gehen, ABER die Signatur muss für den Request berechnet werden!!
Vllt hilft ja eine Library wie https://www.npmjs.com/package/oauth um hier etwas komplexität rauszunehmen!
-
Ich bin schon etwas weiter…mit der Library https://github.com/Kong/mashape-oauth komme ich bis zum Abruf der Meterdaten.
Es gib aber oft einen Fehler 400 bei AuthToken.
-
Würde mich auch interessieren
Sent from my iPhone using Tapatalk
-
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden