2012-06-29 79 views
-1

我正在使用php-sdk顯示用戶的Facebook信息。我已經成功地顯示了用戶配置文件信息,但是在獲取任何專輯或照片時,我將空白數據提供給我。我閱讀照片需要access_token。 此外,如果我把這個查詢在Facebook圖形API瀏覽器它顯示我完美的結果。所以查詢是正確的可能是我傳遞url的方式是錯誤的。Facebook fql未顯示照片和相冊查詢

我不明白這個問題。 請幫忙。 '; $ app_secret =''; $ my_url ='';

  $config = array(
      'appId' => '<appid>', 
      'secret' => '<appsecrete>', 
      ); 

      $facebook = new Facebook($config); 
      $user_id = $facebook->getUser(); 

      $code = $_REQUEST["code"]; 
      if($user_id) { 
      //auth user 
      if(empty($code)) { 
       $dialog_url = 'https://www.facebook.com/dialog/oauth?client_id=' 
        . $app_id . '&redirect_uri=' . urlencode($my_url) ; 
        echo("<script>top.location.href='" . $dialog_url . "'</script>"); 
       } 

       //get user access_token 
       $token_url = 'https://graph.facebook.com/oauth/access_token?client_id=' 
       . $app_id . '&redirect_uri=' . urlencode($my_url) 
       . '&client_secret=' . $app_secret 
       . '&code=' . $code; 
       $access_token = file_get_contents($token_url); 

      $fql_query_url = 'https://graph.facebook.com/'.'fql?q=SELECT+pid,src_small+FROM+photo+WHERE+aid+IN+(SELECT+aid+FROM+album+WHERE+owner=+me())&'.$access_token; 
      $fql_query_result = file_get_contents($fql_query_url); 
      $fql_query_obj = json_decode($fql_query_result, true); 


      //display results of fql query 
      echo '<pre>'; 
      print_r("query results:"); 
      print_r($fql_query_obj); 
      echo '</pre>'; 

}
?>

+0

我沒有看到你在你的代碼要求權限的任何地方......? – CBroe

+0

權限的意思是說讓你的Facebook照片公開..這就是facebook提到的一些必要條件來獲取照片。我不明白爲什麼我的結果顯示空陣列, – shreyas

+0

這還不夠,請看這裏:https://developers.facebook.com/docs/reference/fql/photo/ – CBroe

回答

0

一個參數需要被添加爲$ dialog_url變量,它是 '範圍',其定義了要給予應用

$dialog_url = 'https://www.facebook.com/dialog/oauth/?client_id='.$app_id.'&redirect_uri='.urlencode($my_url).'&scope=user_photos'; 
        echo("<script>top.location.href='" . $dialog_url . "'</script>"); 

參考權限,

http://developers.facebook.com/docs/reference/dialogs/oauth/

感謝

Shreyas

相關問題