从Facebook的Graph API解析。应该很简单但是

时间:2011-11-26 01:55:17

标签: php parsing facebook-graph-api file-get-contents json

实际上我的任务是创建一个简单的网站,这是我第一次与facebook Graph API合并。

事情是,我想连接到一个组并获取提要消息(没有图片,没有名字,只有消息)。简单吧?

在我的PHP代码中,我设置了组网址页面,通过我的程序,它会导致这样的页面......

{
   "data": [
      {
         "id": "xxxx",
         "from": {
            "name": "xxxx",
            "id": "xxxx"
         },
         "message": "First Feed!",          <!-- This one I want to parse -->
         "actions": [
            {
               "name": "xxx",
               "link": "xxx"
            },
         ],


etc etc

当我尝试解析消息“First feed!”时出现问题。 这是我到目前为止的PHP代码:

<?php
    $groupID = 'xxx';

    $url = 'https://graph.facebook.com/'.$groupID.'/feed?access_token=xxx';
    $result = json_decode(file_get_contents($url));

    echo '<a href='.$url.'>Check the fetched contents</a>';

    $limit = 25;
    $counter = 0;
    foreach($result -> message as $message)
    {
      if ($counter == $limit) {break;}
      echo $message;
      $counter++;
    }
%>

主要问题是我根本没有得到任何结果......

尽管这是一个非常简单明了的变体,我还尝试了一些我在论坛上发现的其他内容,例如:<br> 使用$result -> {'message'}; <br> 使用$result['message']; <br> 首先使用$result = $result -> data然后$result = $result -> message <br> 不使用foreach循环<br>

此外,我已使用print_r()函数进行了检查,即使在file_get_contents阶段,我也没有得到任何结果......(我在函数周围使用<pre>标记。)

那么,我做错了什么???????

PS:我为access_token设置了离线权限

1 个答案:

答案 0 :(得分:0)

正确的对象路径是:

var_dump($result->data->message)

但你说file_get_contents没有结果。是url文件包含允许吗?或者你得到一个错误?

如果单击调试链接会发生什么?显示的内容是什么?如果是,则api查询或令牌不是问题。