Dropbox API PHP - 通知请求为空
Dropbox API PHP - notification request is empty
我有一个应该很简单的问题要解决,但我不知道出了什么问题。
刚开始一个项目,使用新的 Dropbox API v2 来接收 file/folder 更改的通知。按照 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);
我认为这是因为 $_POST
仅适用于 application/x-www-form-urlencoded
或 multipart/form-data
Content-Type
。 Dropbox webhooks 传送的负载是 application/json
.
根据您的 PHP.
版本,您似乎更想使用 $HTTP_RAW_POST_DATA
or php://input
您可以获取原始负载,然后json_decode
获取结构化信息。
我有一个应该很简单的问题要解决,但我不知道出了什么问题。
刚开始一个项目,使用新的 Dropbox API v2 来接收 file/folder 更改的通知。按照 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);
我认为这是因为 $_POST
仅适用于 application/x-www-form-urlencoded
或 multipart/form-data
Content-Type
。 Dropbox webhooks 传送的负载是 application/json
.
根据您的 PHP.
版本,您似乎更想使用$HTTP_RAW_POST_DATA
or php://input
您可以获取原始负载,然后json_decode
获取结构化信息。