Frage

Ich habe alle anderen Terminals durchgesehen.PHP-Fragen und konnte keine Lösung finden.

Ich arbeite mit der BOX-API und dies funktioniert, um eine Liste von Dateien in einem Ordner abzurufen:

curl https://api.box.com/2.0/folders/0 \
-H "Authorization: Bearer EdbmVAlajxC0VrkZoYA0wgPjSdNFQSeO"

Aber das funktioniert nicht:

$postURL="https://api.box.com/2.0/folders/0";

$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, $postURL);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
    'Authorization: Bearer EdbmVAlajxC0VrkZoYA0wgPjSdNFQSeO'));

$data = curl_exec($ch); 
curl_close($ch);

Was fehlt mir in der Übersetzung?

War es hilfreich?

Lösung

Ich konnte Ihre Ergebnisse reproduzieren.Es sieht aus wie Ihr erster Versuch mit dem curl Der Befehl verwendet die GET Methode.Ich habe aktiviert --trace-ascii zu Ihrer Curl-Anfrage als solche:

curl --trace-ascii test.txt https://api.box.com/2.0/folders/0 \
-H "Authorization: Bearer EdbmVAlajxC0VrkZoYA0wgPjSdNFQSeO"

Der Inhalt von test.txt zeigt, dass a GET Anfrage wird gestellt.

Ihr PHP-Skript verwendet das POST Methode.Als ich mich veränderte CURLOPT_POST Zu false, das PHP-Skript hat auch bei mir funktioniert.Es sieht so aus, als ob der Server eine erwartet GET Anfrage statt a POST Anfrage.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top