Hallo zusammen,
nach einem guten Jahrzent der Anwendungsentwicklung bin ich nun beruflich bedingt in die Web-Entwicklung eingetaucht.
Aktuell scheitere ich jedoch an einer scheinbar trivialen Aufgabe. In einem Onlineshop sollen Trusted-Shops-Reviews im Footer angezeigt werden.
Die benötigten Daten können im JSON-Format von der TS-API per HTTP-Request erhalten werden. Das ist an für sich auch nicht mein Problem, zumal sich dafür massig Beispiele im WWW finden.
Da ich jedoch Daten aus dem restricted-Bereich anfrage, ist ein sog. Bearer-Token für die oAuth2-Authentifizierung nötig, welches man ebenfalls per HTTP-Request erhalte. Leider finde ich hierfür kaum Beispiele, wie das ganze konkret in PHP syntaktisch aussieht. Mit meinen bisherigen Versuchen konnte ich noch kein Token erzeugen.
Gemäß der TS-Entwicklerdokumentation gelten folgende Parameter:
Mein bisheriger Ansatz:
Leider bekomme ich als Antwort stets 400 - Bad Request. (wahlweise auch mal 401, 402, je nach Lösungsversuch)
Bis ich die fehlenden Grundlagen nachgearbeitet habe, hoffe ich sehr darauf, das sich jemand hier im Forum erbarmt, mir beim Debuggen zu helfen
In dem Sinne, vorab herzlichen Dank und viele Grüße,
stuck1a
nach einem guten Jahrzent der Anwendungsentwicklung bin ich nun beruflich bedingt in die Web-Entwicklung eingetaucht.
Aktuell scheitere ich jedoch an einer scheinbar trivialen Aufgabe. In einem Onlineshop sollen Trusted-Shops-Reviews im Footer angezeigt werden.
Die benötigten Daten können im JSON-Format von der TS-API per HTTP-Request erhalten werden. Das ist an für sich auch nicht mein Problem, zumal sich dafür massig Beispiele im WWW finden.
Da ich jedoch Daten aus dem restricted-Bereich anfrage, ist ein sog. Bearer-Token für die oAuth2-Authentifizierung nötig, welches man ebenfalls per HTTP-Request erhalte. Leider finde ich hierfür kaum Beispiele, wie das ganze konkret in PHP syntaktisch aussieht. Mit meinen bisherigen Versuchen konnte ich noch kein Token erzeugen.
Gemäß der TS-Entwicklerdokumentation gelten folgende Parameter:
- Endpoint-URL:
https://login.etrusted.com/oauth/token
- Inhalt Header:
"Content-Type": "application/x-www-form-urlencoded"
- Inhalt Body:
"client_id": "<YOUR_CLIENT_ID>"
"client_secret": "<YOUR_CLIENT_SECRET>"
"grant_type": "client_credentials"
"audience": "https://api.etrusted.com"
"client_secret": "<YOUR_CLIENT_SECRET>"
"grant_type": "client_credentials"
"audience": "https://api.etrusted.com"
Mein bisheriger Ansatz:
PHP Code:
function authenticate($clientId, $clientSecret)
{
$body = array(
"client_id" => $clientId,
"client_secret" => $clientSecret,
"grant_type" => "client_credentials",
"audience" => "https://api-etrusted.com"
);
$ch = curl_init();
curl_setopt_array($ch, array(
CURLOPT_URL => "https://login.etrusted.com/oauth/token",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_POSTFIELDS => json_encode($body),
CURLOPT_HTTPHEADER => array(
"Content-Type" => "application/x-www-form-urlencoded",
)
));
$response = curl_exec($ch);
$err = curl_error($ch);
curl_close($ch);
return $err?$err:$response;
}
Leider bekomme ich als Antwort stets 400 - Bad Request. (wahlweise auch mal 401, 402, je nach Lösungsversuch)
Bis ich die fehlenden Grundlagen nachgearbeitet habe, hoffe ich sehr darauf, das sich jemand hier im Forum erbarmt, mir beim Debuggen zu helfen
In dem Sinne, vorab herzlichen Dank und viele Grüße,
stuck1a
Comment