json decode转换Facebook有效负载

时间:2017-07-07 17:25:34

标签: php json facebook cakephp

来自主要广告测试工具的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)上有一个这个应用程序的克隆,似乎没有这个问题。

1 个答案:

答案 0 :(得分:1)

我怀疑你可能需要设置'选项' json_decode使用JSON_BIGINT_AS_STRING。 查看http://php.net/manual/en/function.json-decode.php 这篇文章引导我找到可能的解决方案PHP JSON large integers

相关问题