0

我做了一个项目,在这个项目的一部分,我想保存从graph.facebook.com得到的数据,现在我的项目的示例输出,我从facebook图形API。 :我怎样才能使用提取的数据从facebook图形api

Facebook\GraphObject Object 
(
    [backingData:protected] => Array 
     (
      [data] => Array 
       (
        [0] => stdClass Object 
         (
          [message] => Automated XML Site Map Generator 
http://pastebin.com/xjJe38dp 
          [id] => 103114753133019_371405176303974 
          [updated_time] => 2013-04-26T05:36:35+0000 
         ) 

        [1] => stdClass Object 
         (
          [message] => Simple but powerful DB class 
http://pastebin.com/1qgxUrwX 
          [id] => 103114753133019_371404696304022 
          [updated_time] => 2013-04-26T05:34:23+0000 
         ) 

        [2] => stdClass Object 
         (
          [message] => Convert Existing DB to Unicode 
http://pastebin.com/pHu08cPs 
          [id] => 103114753133019_371404609637364 
          [updated_time] => 2013-04-26T05:33:50+0000 
         ) 

       ) 

      [paging] => stdClass Object 
       (
        [previous] => https://graph.facebook.com/v2.2/103114753133019/feed?fields=message&since=1366954595&access_token=425591634259397|AQumfoxQyU3wAyt3sM37sYM9sp8&limit=25&__paging_token=enc_AexpCrJr7NTOG02uEaXs6pqjd11UjEohZJLjXZrWeYLOsE9hPX7WQTLemXIGMpzdFXEDdDUQj3qdwOqEbmlAfX4TREbZ-3GAfkKiUZ44kHGYLw&__previous=1 
        [next] => https://graph.facebook.com/v2.2/103114753133019/feed?fields=message&access_token=425591634259397|AQumfoxQyU3wAyt3sM37sYM9sp8&limit=25&until=1366954430&__paging_token=enc_AeyPm9mOsK3T9J0JNkIyQQqxfS7hLDe5GCs-IRLQWPOOzma8v9Rzvw8awxxE0GMQhx-rfs99X7TpUGw5f7HNgPnTKh11WbGC5Yj7GyW7s2VqoA 
       ) 

     ) 

) 

,你可以看到我打印theese代码运行:

$request = new FacebookRequest($session, 'GET', '/a page id/feed'.$sfield); 

$response = $request->execute(); 
// get response 
$graphObject = $response->getGraphObject(); 
// print data 
echo '<pre>' . print_r($graphObject, 1) . '</pre>'; 

所以现在我想的邮件保存到一个文件,或者当我想用$ graphObject作为数据库阵列它给了我一个错误:

Fatal error: Cannot use object of type Facebook\GraphObject as array in /home/micengco/public_html/parser/facebook.php on line 34 

所以我怎么能做到这一点?

回答

0

对象具有与数组不同的导航方式。我认为你需要这样做:

$graphObject = $response->getGraphObject(); 
$backingData = $graphObject->backingData; 
$data = $backingData[data][0]; 

在这种情况下,你需要仔细阅读和理解结构。在这样的数据结构中将会有关联和数字索引的数组。 我上面做的是首先获取对象的'backingData'属性。现在在这个属性下,我们有一个关键字'数据'的关联数组。在那里有一个数字索引数组,在你的例子中只有一个元素。如果有多个元素,则必须运行一个循环。

+0

我在哪里可以找到完整的文档 – simba 2014-12-13 18:08:38

+0

你是指由Facebook的文档? – nitigyan 2014-12-13 18:10:17

+0

任何,来自Facebook或其他任何地方! – simba 2014-12-14 11:48:44

1

检查如下:(需要添加 “ - > asArray();” 让尽可能正常阵列输出)

$request = new FacebookRequest($session, 'GET', '/a page id/feed'.$sfield); 

$response = $request->execute(); 
// get response 
$graphObject = $response->getGraphObject()->asArray(); 
// print data 
echo '<pre>' . print_r($graphObject, 1) . '</pre>'; 

它不会给:在数组 “backingData保护”。