1

我是 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].name

这就是我的 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.

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

这就是我的全部代码: 点击这里查看我的代码

4

1 回答 1

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);

文件:

于 2013-10-06T16:53:06.517 回答