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?

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top