如何制作Facebook FQL查询以选择所有朋友

时间:2013-10-06 16:45:49

标签: php json facebook facebook-fql

我是PHP SDK Facebook的新手,很抱歉,如果这个问题很愚蠢。

所以,我有这个代码

SELECT name FROM user
    WHERE current_location.country = 'Italy' AND
    uid IN (
        SELECT uid2 FROM friend WHERE uid1 = me()
    ) 

那回应我:

{
  "data": [
    {
      "name": "Matilde xxxx"
    }, 
    {
      "name": "Samson xxxxxxxx"
    },  
    {
      "name": "Emanuela xxxxxxx"
    }
  ]
}

我正在使用此网站分析如何管理json:http://chris.photobooks.com/json/default.htm

我看到如果我想要一个朋友的名字,我必须这样做: root.data [5]。名称

这是我的PHP代码:

$user_id = $facebook->getUser();


$all_friends = $facebook->api(array('method' => 'fql.query', 'query' => 'SELECT name FROM user
        WHERE current_location.country = "Italy" AND
        uid IN (
            SELECT uid2 FROM friend WHERE uid1 = 1068943079
        ) '));
        $val = 1;
        echo $all_friends['data'][$val]['name'];

(是一个测试,我想在key = 1看到朋友)但是只有白页...什么都没有..如果我回复$ all_friends我看到Array。

很抱歉,如果这是一个愚蠢的问题,我知道我可以使用其他方法来做到这一点..但我想知道如何用这种方式做到这一点! 谢谢你,对不起我的语言。

这就是我的所有代码: CLICK HERE TO SEE MY CODE

1 个答案:

答案 0 :(得分:1)

1。您应print_r($all_friends)检查数组的结构

尝试

echo $all_friends[$val]['name'];

2。 FQL查询应仅在$user != 0

时发生

将其置于if声明

3。您没有要求read_friendlists权限

$params = array(
  'scope' => 'read_friendlists'
);

$loginUrl = $facebook->getLoginUrl($params);

Doc: