我看了所有其他终端vs。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"

测试的内容。txt显示一个 GET 正在提出要求。

您的PHP脚本正在使用 POST 方法。当我改变 CURLOPT_POSTfalse, ,PHP脚本也适用于我。它看起来像服务器期待一个 GET 请求而不是 POST 请求。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top