Dropbox list_folder调用在PHP_cURL中无效

时间:2017-01-31 19:25:55

标签: php dropbox-api php-curl

我尝试检测给定目录中的所有子文件夹,使用PHP_CURL库与Dropbox API进行交互。我认为这只是一个语法问题,有JSON主体的电话,但我不知道什么是错的。

$url = "https://api.dropboxapi.com/2/files/list_folder";

$data = array('path' => '/root/folder');
$post_body = json_encode($data);

print_r( $post_body );

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url); 
curl_setopt($ch, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $token,
                                           'Content-Type: application/json') );

curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post_body); 


curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
$data = json_decode(curl_exec($ch), true);
curl_close($ch); 

print_r($data);

这是输出:

{"path":"\/root\/folder"}

该目录中肯定存在文件夹,但是当我从命令行运行时,没有任何超出我的调试的内容 - 没有错误或任何内容。当我使用Postman运行它时它也可以正常工作。同时,我的文件上传测试脚本运行正常,所以我知道我的授权令牌没有问题。

为什么我的代码坏了?

1 个答案:

答案 0 :(得分:0)

列出子文件夹的正确API网址为:

HTTPS:// <强> API dropboxapi.com/2/files/list_folder

我复制/粘贴了文件上传网址,即:

的https:// 内容 dropboxapi.com/2/files/list_folder

所以这是一个语法错误,而不是我在寻找它。