FQL查询失败 - 被怀疑身份验证问题

问题描述:

在一个页面上,如果我做一个测试FQL查询它的工作原理:FQL查询失败 - 被怀疑身份验证问题

$fql = 'SELECT name from user where uid = ' . $user_id; 
     $ret_obj = $facebook->api(array(
            'method' => 'fql.query', 
            'query' => $fql, 
           )); 

     echo '<pre>Name: ' . $ret_obj[0]['name'] . '</pre>'; 

但是,如果我尝试运行此查询,它失败:

$fql2 = 'SELECT uid, name, pic_square FROM user WHERE uid in (SELECT uid2 FROM friend WHERE uid1 = me()) AND sex =male'; 
$ret_obj2 = $facebook->api(array(
          'method' => 'fql.query', 
          'query' => $fql2, 
         )); 


echo '<pre>Name: ' . $ret_obj2[0]['name'] . '</pre>'; 

我怀疑这是一个认证问题,因为相同的fql查询在图api测试工具中起作用!

如果你希望签出完整的PHP代码,这是此页面上的第二个例子: https://developers.facebook.com/docs/reference/php/facebook-api/

+0

什么是$ ret_obj2设置为当你“犯罪嫌疑人”的身份验证问题? – DMCS 2012-03-06 22:01:05

感谢您的支持家伙,查询是不工作的原因有二:

1)我忘了;声明

2)在我的代码结束后,我用

`SELECT uid, name, pic_square, FROM` 

,而不是

`SELECT uid, name, pic_square FROM` 

需要在此查询只是基本的权限,所以这不是问题。尝试在“男性”周围添加双引号:

$fql2 = 'SELECT uid, name, pic_square FROM user WHERE uid in (SELECT uid2 FROM friend WHERE uid1 = me()) AND sex="male"';