来自主要广告测试工具的Facebook POST请求正在转变:
Facebook主要广告测试工具: https://developers.facebook.com/tools/lead-ads-testing
接受有效载荷的代码:
$input = json_decode(file_get_contents('php://input'), true);
框架:CakePHP 2.0
调试:
2017-07-07 12:12:27 Debug: Array
(
[entry] => Array
(
[0] => Array
(
[changes] => Array
(
[0] => Array
(
[field] => leadgen
[value] => Array
(
[ad_id] => 0
[form_id] => 7.2426956441826E+14
[leadgen_id] => 7.9242177426971E+14
[created_time] => 1499447542
[page_id] => 4.8242822517084E+14
[adgroup_id] => 0
)
)
)
[id] => 482428225170841
[time] => 1499447543
)
)
[object] => page
)
PHP版本:5.5.9
问题:
[form_id] => 7.2426956441826E+14
[leadgen_id] => 7.9242177426971E+14
应该是:
[form_id] => 724269564418262
[leadgen_id] => 792421774269707
因此出于某种原因似乎正在转换这些数字。
我在旧版本的PHP(5.4)上有一个这个应用程序的克隆,似乎没有这个问题。
答案 0 :(得分:1)
我怀疑你可能需要设置'选项' json_decode使用JSON_BIGINT_AS_STRING。 查看http://php.net/manual/en/function.json-decode.php 这篇文章引导我找到可能的解决方案PHP JSON large integers