Dropbox API PHP-通知请求为空


Dropbox API PHP - notification request is empty

我有一个应该很简单的问题需要解决,但我不知道出了什么问题。

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

我已经验证了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);

CCD_ 1是一个带有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); 

我相信这是因为$_POST只适用于application/x-www-form-urlencodedmultipart/form-data Content-Type s。Dropbox Webhook提供的有效载荷是application/json

看起来您会想要使用$HTTP_RAW_POST_DATA$postData0,这取决于您的PHP版本。

您可以获得原始有效载荷,然后json_decode来获得结构化信息。