Inhalt aus "Ausgabe (Text)" nutzbar machen vs. Bool

Hallo,

folgendes Skript habe ich:

$curl_handle=curl_init();
curl_setopt($curl_handle, CURLOPT_FOLLOWLOCATION,true);  
curl_setopt($curl_handle, CURLOPT_POST, true);  
curl_setopt($curl_handle, CURLOPT_URL, 'https://www.googleapis.com/oauth2/v4/token');
curl_setopt($curl_handle, CURLOPT_POSTFIELDS, $PostData);
$fileContent = curl_exec($curl_handle);
curl_close($curl_handle);
if ($fileContent===false) 
{
       echo 'Token request  failed !!!';
}
else
{
   // print_r ($fileContent);
}

SetValueString(12345, $fileContent);

Nach der Ausführung bekomme ich im Ausgabe-Fenster Text zurück:

{
„access_token“: „xy“,
„expires_in“: 3599,
„refresh_token“: „yz“
}

aus dem ich gerne Werte extrahieren würde. Allerdings steht in meiner String-Variable nur „True“ und nicht der Text aus dem Ausgabe-Fenster.

Entsprechend bekomme ich in der Textausgabe ergänzend die Fehlermeldung

Notice: Trying to access array offset on value of type bool in /var/lib/symcon/scripts/45678.ips.php on line 36

wenn ich in Zeile 36 folgende Ergänzung vornehme:

$filecontent2=$fileContent[0];

Wie bekomme ich den Text in eine Variable oder komme ich sonst an den Textinhalt der Ausgabe?

Danke und viele Grüße…!

$filecontent ist offenbar json. Sieh dir mal json_decode an.

$fileContent2 = json_decode($fileContent);
SetValue(12345, $fileContent2->access_token);

Vielen Dank, tobiasr.

Für die SetValue-Zeile bekomme ich so die Fehlermeldung:

Notice: Trying to get property ‚access_token‘ of non-object in /var/lib/symcon/scripts/45678.ips.php on line 41

$fileContent2 hat wie $fileContent den Wert 1 ?!?

Ich bin echt ratlos…

Irgendwas ist da faul. Du hast eben ein Script mit ca. 10 Zeilen geschickt. Jetzt ist der Fehler in Zeile 41.
Du musst die CURL Option ’ CURLOPT_RETURNTRANSFER’ setzen, damit überhaupt was anderes als TRUE als Ergebnis kommen kann. Woher kommt überhaupt die Ausgabe, die du eben gepostet hast? Denn es gibt in dem Bereich überhaupt keinen aktiven print Befehl.

Das mit den Zeilen passt, da im geposteten Skript die Definitionen nicht enthalten sind.

Den Print-Befehl hatte ich zur Kontrolle mal aktiviert/reingenommen und daher die Werte.

Der CURLOPT_RETURNTRANSFER-Hinweis ist gut, vielen Dank! Ich versuche das morgen mal, da ich jetzt keinen Zugriff mehr habe, und berichte dann…

Viele Grüße!

Das war es, tobiasr, :+1: vielen Dank noch einmal für Deine Hilfe!!!

VG!