Вопрос

Я просмотрел все остальные терминалы .Вопросы по PHP и не смог найти решения.

Я работаю с BOX API, и это работает для получения списка файлов в папке:

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

Но это не работает:

$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);

Чего мне не хватает в переводе?

Это было полезно?

Решение

Я смог воспроизвести ваши результаты.Это похоже на вашу первую попытку использования curl команда использует GET способ.Я включил --trace-ascii по вашему запросу curl как таковому:

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

Содержание test.txt показывает, что GET делается запрос.

Ваш PHP-скрипт использует POST способ.Когда я изменился CURLOPT_POST Для false, PHP-скрипт сработал и у меня.Похоже, что сервер ожидает GET запрос вместо POST просьба.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top