我正在尝试使用php使用Facebook Graph API解析帖子的JSON提要
我找到了以下解决方案......
<?php
$request_url ="https://graph.facebook.com/comments/?
ids=http://www.youtube.com/watch?v=fyF-fj-1coY&feature=player_embedded";
$requests = file_get_contents($request_url);
$fb_response = json_decode($requests);
foreach ($fb_response as $key => $response) {
foreach ($fb_response->$key as $data) {
foreach ($data as $item) {
echo 'NAME: ' . $item->name . '<br />';
echo 'From ID: ' . $item->from->id . '<br />';
echo 'From Name: ' . $item->from->name . '<br />';
echo 'Message: ' . $item->message . '<br />';
echo 'Timestamp: ' . $item->created_time . '<br /><br />';
}
}
}
?>
这是我正在使用的网址ID:https://graph.facebook.com/210849652406/feed/?access_token= {VALID_USER_TOKEN}
我只是不知道如何调用此Feed的项目。我试图用这个帖子/提要来解析评论,但我基本上什么都没有。我想要基本的项目,如帖子的名称,标题等。我想如果我能得到帖子的名字,我可以把它弄清楚!
答案 0 :(得分:7)
您循环错误
试试这个
foreach($fb_response->data as $item){
echo 'Message: ' . $item->message . '<br />';//there is no name returned on a comment
echo 'From ID: ' . $item->from->id . '<br />';
echo 'From Name: ' . $item->from->name . '<br />';
echo 'Message: ' . $item->message . '<br />';
echo 'Timestamp: ' . $item->created_time . '<br /><br />';
}
答案 1 :(得分:0)
您是否显示警告/错误?确保您在php.ini中启用了extension=php_openssl.dll
(或.so
),否则您将无法获得任何结果。这是因为您是从安全站点获取的。
此外,$item->name
是JSON中的未定义属性。也许你的意思是$item->id
。其他一切看起来还不错。
答案 2 :(得分:0)
为什么不使用PHP SDK?