Как я могу использовать извлеченные данные из Facebook графа API

я сделал проект, в этой части проекта я хочу сохранить полученные данные с graph.facebook.com, теперь я пример выходных данных моего проекта, которые я получаю из Facebook Graph 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
)

)

)

как вы видите, я печатаю эти коды, выполнив:

$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

Другие решения

проверьте ниже: (нужно добавить «-> 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: protected» в массиве.

2

По вопросам рекламы [email protected]