我有一个应该很简单的问题需要解决,但我不知道出了什么问题。
刚刚启动一个项目,使用新的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-urlencoded
或multipart/form-data
Content-Type
s。Dropbox Webhook提供的有效载荷是application/json
。
看起来您会想要使用$HTTP_RAW_POST_DATA
或$postData
0,这取决于您的PHP版本。
您可以获得原始有效载荷,然后json_decode
来获得结构化信息。