从图形api获取故事标签会返回标记的奇怪的id结果

时间:2012-07-04 15:18:38

标签: php facebook-graph-api facebook-php-sdk json

我解释这个的最好方法是告诉你。看起来像64位系统中的float()错误。

当我为此问题调用/anotherfeed/feed或任何页面时,带有story_tags的帖子会将某些ID作为浮动错误返回。

示例故事标记,其中包含浮点错误。 [id] => 1.7153566624E+14

我的问题是,我该如何解决这个问题,或者我做错了什么?我正在做的就是在foreach声明中循环。

        if($fvalue[story_tags]){
                echo 'Tags: ';
                $sTags=$fvalue[story_tags];
            foreach ($sTags as $skey=>$svalue){
            foreach ($svalue as $gkey=>$hvalue){
                $id=$hvalue[id];
                echo ''.$hvalue[name].' '.$id.' ';
                            }
            }
        }

               [story_tags] => Array
                    (
                        [0] => Array
                            (
                                [0] => Array
                                    (
                                        [id] => 1.7153566624E+14
                                        [name] => Another Feed
                                        [offset] => 0
                                        [length] => 12
                                        [type] => page
                                    )

                            )

Array
(
    [data] => Array
        (
            [0] => Array
                (
                    [id] => 171535666239724_156133294510726
                    [from] => Array
                        (
                            [name] => Another Feed
                            [category] => App page
                            [id] => 171535666239724
                        )

                    [story] => Another Feed shared Non-Profits on Facebook's photo.
                    [story_tags] => Array
                        (
                            [0] => Array
                                (
                                    [0] => Array
                                        (
                                            [id] => 1.7153566624E+14
                                            [name] => Another Feed
                                            [offset] => 0
                                            [length] => 12
                                            [type] => page
                                        )

                                )

                            [20] => Array
                                (
                                    [0] => Array
                                        (
                                            [id] => 41130665917
                                            [name] => Non-Profits on Facebook
                                            [offset] => 20
                                            [length] => 23
                                            [type] => page
                                        )

                                )

                        )

                    [picture] => http://photos-d.ak.fbcdn.net/hphotos-ak-ash3/557037_10150932300320918_1908237167_s.jpg
                    [link] => http://www.facebook.com/photo.php?fbid=10150932300320918&set=a.85612830917.95996.41130665917&type=1
                    [name] => Wall Photos
                    [caption] => Have you heard of the @[159208207468539:274:One Day without Shoes] (ODWS) campaign?  ODWS is an annual initiative by @[8416861761:274:TOMS] to bring awareness around the impact a pair of shoes can have on a child's life.  

During the 2012 campaign, @[20531316728:274:Facebook] drove 20% of traffic to the ODWS microsite and TOMS even launched a Facebook-exclusive "Barefoot & Blue" giveaway with @[25266987484:274:Essie Nail Polish] for the second year in a row.  

We think this is a pretty cool example of creating exclusive content around an important initiative that keeps people engaged and involved!
                    [properties] => Array
                        (
                            [0] => Array
                                (
                                    [name] => By
                                    [text] => Non-Profits on Facebook
                                    [href] => http://www.facebook.com/nonprofits
                                )

                        )

                    [icon] => http://static.ak.fbcdn.net/rsrc.php/v2/yD/r/aS8ecmYRys0.gif
                    [type] => photo
                    [object_id] => 10150932300320918
                    [application] => Array
                        (
                            [name] => Photos
                            [id] => 2305272732
                        )

                    [created_time] => 2012-07-02T17:57:23+0000
                    [updated_time] => 2012-07-02T17:57:23+0000
                    [comments] => Array
                        (
                            [count] => 0
                        )

                )

1 个答案:

答案 0 :(得分:0)

<强>溶液

cURL - 必须使用PHP_EOL的数字格式来解决cURL。

// $ locs = curl调用图形api / anotherfeed / feed,仍然需要foreach的解决方案。

$locs=json_decode($returned, true);
$stId=number_format($locs[data][1][story_tags][0][0][id], 0, '', '').PHP_EOL;
echo $stId;

PHP-SDK

解决方案是相同的,foreach循环中的长数字需要通过number_format运行。