enrolar funciona eu terminal — erro no PHP
Pergunta
Eu olhei através de todos os outros terminais de vs.PHP perguntas e não conseguia encontrar um resolver.
Estou trabalhando com a CAIXA de API e isso funciona para recuperar uma lista de arquivos em uma pasta:
curl https://api.box.com/2.0/folders/0 \
-H "Authorization: Bearer EdbmVAlajxC0VrkZoYA0wgPjSdNFQSeO"
Mas isso não funciona:
$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);
O que estou ausente na tradução?
Solução
Eu era capaz de reproduzir seus resultados.Parece que a sua primeira tentativa de utilizar o curl
o comando é usando o GET
o método.Eu ativado --trace-ascii
em sua solicitação curl-se como tal:
curl --trace-ascii test.txt https://api.box.com/2.0/folders/0 \
-H "Authorization: Bearer EdbmVAlajxC0VrkZoYA0wgPjSdNFQSeO"
O conteúdo de test.txt mostrar que uma GET
a solicitação está sendo feita.
Seu script PHP está usando o POST
o método.Quando eu mudei CURLOPT_POST
para false
, o PHP script funcionou para mim também.Parece que o servidor está esperando um GET
pedido, em vez de um POST
pedido.