Для получения комментариев от FB я использую следующее:
$url = urlencode("http://*****.com/pages/view?id=2153&item=Mens-Collection-Shoes"); $request_url ="https://graph.facebook.com/comments/?ids=" . $url; $requests = file_get_contents($request_url);
когда я print_r($requests);
Я получаю следующее, но не могу решить, как отформатировать его с помощью цикла foreach:
{ "http:\/\/*****.com\/pages\/view?id=2153&item=Mens-Collection-Shoes": { "comments": { "data": [{ "id": "123456", "from": { "name": "Laurelle", "id": "123456" }, "message": "I love these", "can_remove": false, "created_time": "2012-11-20T10:20:16+0000", "like_count": 0, "user_likes": false } { "id": "123456", "from": { "name": "Dan", "id": "123456" }, "message": "I know, just stunning!", "can_remove": false, "created_time": "2012-11-20T14:24:15+0000", "like_count": 0, "user_likes": false }], "paging": { "next": "https:\/\/graph.facebook.com\/*****\/comments?limit=25&offset=25&__after_id=*****" } } } }
Я пытаюсь получить:
data->from->id data->from->name data->message data->created_time
Я пробовал:
$fb_response = json_decode($requests); foreach($fb_response->data as $item){ echo $item->from->id . '<br />'; echo $item->from->name . '<br />'; echo $item->message . '<br />'; echo $item->created_time . '<br /><br />'; }
Но не повезло
Я думаю, вы ищете:
$originalUrl = "http://*****.com/pages/view?id=2153&item=Mens-Collection-Shoes"; $url = urlencode($originalUrl); ... foreach($fb_response->$originalUrl->comments->data as $item) {
data
не являются именем свойства непосредственно внутри документа JSON; это находится под http://*****.com/pages/view?id=2153&item=Mens-Collection-Shoes
и comments
.