Dropbox API PHP - 通知请求为空

时间:2016-08-04 19:08:03

标签: php dropbox dropbox-api

我应该解决一个非常简单的问题,但我无法弄清楚出了什么问题。

刚刚启动了一个项目,使用新的Dropbox API v2接收文件/文件夹更改的通知。按照提供的documentation中提供的步骤进行操作,但我马上就遇到了问题。

我已经验证了webhook,每次更改文件时我都会收到来自Dropbox的POST请求,但POST请求只包含一个空数组。代码很简单,因为我刚开始这个项目:

// USED for initial verification
/*
$challenge = $_GET['challenge'];
echo $challenge;
*/

$postData = $_POST;

$post_dump = print_r($postData, TRUE);
$fpost = fopen('postTester.txt', 'w');
fwrite($fpost, $post_dump);
fclose($fpost);

$postData是一个包含sizeOf() 0的空数组。

有什么想法吗?

以下是解决方案的更新代码。非常简单的修复。

$postData = file_get_contents("php://input");

$post_dump = print_r($postData, TRUE);
$fpost = fopen('postTester.txt', 'w');
fwrite($fpost, $post_dump);
fclose($fpost); 

1 个答案:

答案 0 :(得分:2)

我认为这是因为$_POST仅适用于application/x-www-form-urlencodedmultipart/form-data Content-Type。 Dropbox webhooks提供的有效负载为application/json

看起来您会想要使用$HTTP_RAW_POST_DATAphp://input,具体取决于您的PHP版本。

您可以获取原始有效负载,然后json_decode获取结构化信息。