Magst du uns mal deinen Code zeigen?
So wie ich es verstanden habe muss zuerst der Access Token abgerufen werde, dies kannst du ja vermutlich schon und m it diesem Token machst du den Aufruf auf den Endpoint.
Dies ist zwar hier in Python:
# Provide URL to request health info on API
myURL = "https://ds.netztransparenz.de/api/v1/health"
response = requests.get(myURL, headers = {'Authorization': 'Bearer {}'.format(TOKEN)})
print(response.text, file = sys.stdout)
Die interessante Stelle ist diese:
headers = {'Authorization': 'Bearer {}'.format(TOKEN)})
D.h. Im header muss der Access Token angegeben werden.
Ohne Garantie, da nicht getestet:
$timeout = round($this->ReadPropertyInteger('Timeout') / 1000);
//Send data to endpoint
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_CUSTOMREQUEST => $CustomRequest,
CURLOPT_URL => $Endpoint,
CURLOPT_HEADER => true,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_FAILONERROR => true,
CURLOPT_CONNECTTIMEOUT => $timeout,
CURLOPT_TIMEOUT => 60,
CURLOPT_POSTFIELDS => $Postfields,
CURLOPT_HTTPHEADER => [
'Authorization: Bearer ' . $accessToken]]);
$response = curl_exec($ch);
if (!curl_errno($ch)) {
switch ($http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE)) {
case 200: # OK
$header_size = curl_getinfo($ch, CURLINFO_HEADER_SIZE);
$header = substr($response, 0, $header_size);
$body = substr($response, $header_size);
$this->SendDebug(__FUNCTION__, 'Header: ' . $header, 0);
$this->SendDebug(__FUNCTION__, 'Body: ' . $body, 0);
break;
default:
$this->SendDebug(__FUNCTION__, 'HTTP Code: ' . $http_code, 0);
}
} else {
$error_msg = curl_error($ch);
$this->SendDebug(__FUNCTION__, 'An error has occurred: ' . json_encode($error_msg), 0);
}
curl_close($ch);
return $body;
$accessToken Musst du deinen zuvor abgeholten Access Token einsetzen.
Wenn du den Access Token abrufst, muss vermutlich im header folgendes mitgegeben werden:
'grant_type': 'client_credentials',
'client_id': DEINE_CLIENT_ID,
'client_secret': DEIN_CLIENT_SECRET
War jetzt auf die schnelle, vielleicht ein Ansatz für dich.
Uli