2012-11-20 128 views
0

我使用下面从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 />'; 
} 

,但没有运气

+0

有你'json_decode()'语句后检查'$ fb_response'的价值? –

+1

我敢打赌,他没有,因为他要求完全一样的问题,前面我说同样的事情 – Dale

+0

@Dale我曾尝试你在最后发表的帖子说,但关闭它,因为它是写在一个混乱的方式,我故障 - 你可以从下面的回答看,你的回答并没有解决我有问题,但是,我很欣赏的答复。 –

回答

3

我认为你正在寻找:

$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-Shoescomments下。

+0

该死!当然..有时候看不到树木的木头!非常感谢,非常感谢。 –