Ich versuche, ein Authentifizierungstoken von einer API zu bekommen. die Anforderung sollte aussehen wiePost Anruf von Nodejs
POST /oauth2/token HTTP/1.1
Host: mysageone.ca.sageone.com
client_id=4b64axxxxxxxxxx00710&
client_secret=iNumzTxxxxxxxxxxhVHstrqWesH8tm9&
code=12a0f9c12cxxxxxxxxxxxxxxx92a48cc1f237ead&
grant_type=authorization_code&
redirect_uri=https://myapp.com/auth/callback
Mein aktueller Code hält mir geben Status 400. Ich habe versucht, die Header zu ändern, aber es funktioniert nicht. Ich habe auch versucht, die erforderlichen Parameter Teil des Pfades mit?.
const http = require('http');
var options = {
hostname: 'app.sageone.com',
path: '/oauth2/token',
method: 'POST',
headers: {
"client_id":"xxxxx",
"client_secret":"xxxxx",
"code":"xxxxxx",
"grant_type":"authorization_code",
"redirect_uri":"https://some link"
}
};
console.log('in users file point 2');
var req1 = http.request(options, (res1) => {
console.log('statusCode:', res1.statusCode);
console.log('headers:', res1.headers);
console.log('message',res1.statusMessage);
res1.on('data', (d) => {
res.json(d);
});
});
req1.on('error', (e) => {
console.error('error starts here',e);
});
req1.end();
});
Vermutlich wird von Ihrer Authentifizierungs-API erwartet, dass Sie sie über https aufrufen? Wenn dies der Fall ist, benötigen Sie das Paket ['https'] (https://nodejs.org/api/https.html) und nicht das' http'. – dan