2012-03-06 34 views
0

在一個頁面上,如果我做一個測試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

回答

0

感謝您的支持傢伙,查詢是不工作的原因有二:

1)我忘了;聲明

2)在我的代碼結束後,我用

`SELECT uid, name, pic_square, FROM` 

,而不是

`SELECT uid, name, pic_square FROM` 
0

需要在此查詢只是基本的權限,所以這不是問題。嘗試在「男性」周圍添加雙引號:

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