am 10.01.2020 16:10
Ich baue gerade an einer Anwendung mit der neuen REST API für meine Webseite: countless.info
Lokal funktioniert der Code, wenn ich die Website aber hochlade (auf countless-new.herokuapp.com) erhalte ich in der Konsole die Fehler - Screenshot anbei, d.h. comdirect lehnt die Verbindung vom Server ab.
Hat jemand eine Idee woran das liegen könnte?
Vielen Dank für die Hilfe
Gelöst! Gzum hilfreichen Beitrag.
am 20.01.2020 04:56
Mit node.js kenne ich mich leider nicht aus, weshalb ich ab hier wohl nicht mehr weiterhelfen kann. Vielleicht fehlt einfach nur ein weiterer Header? Hoffentlich wissen die anderen Community-Mitglieder oder die Mitarbeiter der comdirect-IT Rat.
Viele Grüße
Weinlese
am 20.01.2020 07:58
Danke. Das mit dem Header schaue ich mir noch mal an.
@SMT_Jan-Ove irgendwelche Ideen wo der Fehler liegen könnte?
am 20.01.2020 08:41
Hallo Simon,
ich habe deine Anfrage gerne weitergegeben und melde mich wieder, sobald ich eine Rückmeldung habe. 🙂
Beste Grüße
Jan-Ove
am 20.01.2020 09:39
am 20.01.2020 10:21
@SMT_Jan-Ove angezeigt wird nach wie vor der Fehler vom Screenshot den ich am Anfang gepostet habe.
am 20.01.2020 15:57
Hallo @Simon,
ich habe das gerne nochmal mit meinen Kollegen besprochen und hoffe, dass dir folgendes weiterhilft.
Eines vorab: Dieses Skript muss unbedingt serverseitig ausgeführt werden - sobald der Request vom Browser, also clientseitig, ausgeführt wird, wird es immer wieder zum gleichen Fehler kommen.
Wenn du über einen Node-Server/Node-Skript gehen möchtest, dann muss das dazu passende Skript beispielsweise so aussehen:
const https = require('https');
const url = require('url');
const URL = 'https://api.comdirect.de/oauth/token';
const parsedUrl = url.parse(URL);
const GRANT_TYPE = 'password';
const CLIENT_ID = 'XXXX';
const CLIENT_SECRET = 'XXXXX';
const USERNAME = 'XXXXX';
const PASSWORD = 'XXXXX';
const payload = {
encoding: 'utf8',
headers: {
'Content-Type': 'application/x-www-form-urlencoded',
},
method: 'POST',
};
let options = {...parsedUrl, ...payload};
let result = '';
const req = https.request(options, (response) => {
response.on('data', (chunk) => {
result += chunk;
});
response.on('end', () => {
console.log(result);
});
});
req.write(`client_id=${CLIENT_ID}&client_secret=${CLIENT_SECRET}&grant_type=${GRANT_TYPE}&username=${USERNAME}&password=${PASSWORD}`);
req.end();
Beste Grüße
Jan-Ove
am 25.01.2020 11:53 - zuletzt bearbeitet am 27.01.2020 08:35 von ehemaliger Nutzer
am 25.01.2020 11:53 - zuletzt bearbeitet am 27.01.2020 08:35 von ehemaliger Nutzer
Edit: Werbung entfernt
11.02.2020 10:17 - bearbeitet 11.02.2020 10:18
Deine Screenshots zeigen deutlich dass du JavaScript nicht auf dem Server ausgeführt hast, sondern im Browser.
Auf dem Server heißt, dass du es mit Node.js ausführen musst. Und du darfst nicht verwechseln, dass Node.js auch verwendet wird, um Frontend Code zu generieren, Stichwort: Bundler (webpack, rollup, browserify, etc.). Der Code wird in so einem Fall zwar mit Node.js generiert, aber die Ausführung passiert am Ende im Browser.
Ich empfehle dir die Postman Collection zu laden und dort über den Code Generator die entsprechenden API calls automatisch in Node.js Snippets genereiren zu lassen.
am 13.02.2020 16:54
@SMT_Jan-Ove vielen Dank, das scheint so weit funktioniert zu haben. Leider hat der Programmierer der mir dabei geholfen hat, weniger Zeit als gedacht und ich bin gerade auf der Suche nach jemand neuem, der mir dabei weiterhelfen kann. Ich studiere immerhin Kunst und nicht Informatik und alleine komme ich da nicht weiter.
Ich werde mich nun weiter umschauen und hoffe bald jemanden zu finden, der mir dabei helfen kann das Ganze umzusetzen.
Man würde meinen es sollte 2020 einfacher sein, seinen Kontostand online anzuzeigen…
Vielen Dank für deine Hilfe bis hier her, ich melde mich, wenn ich weiter gekommen bin.
am 13.02.2020 17:03
@anton_ vielen Dank für deine Antwort. Der Screenshot ist noch vom anfänglichen Versuch eines Programmierers, der mir bei diesem Vorhaben helfen wollte. Leider hat er doch keine Zeit das Projekt fertig zu stellen und ich bin wieder bei null. Mir selber ist das alles leider zu komplex, so dass das Projekt mal wieder auf Eis ist, bis ich jemanden finde der Lust und Zeit hat mir dabei zu helfen und weiß wie es geht…