2011-01-08 77 views
0

我正在製作一個社交應用程序,它從Facebook獲取數據並以奇特的方式顯示它,該應用程序首先抓取10個隨機朋友,然後(嘗試)抓住登錄的用戶和10個朋友中的每一個。FQL:獲得共同的朋友,可以減少查詢

使用FQL獲取10個朋友的過程非常簡單,但是如果沒有應用程序進行2000個API調用,我就會遇到很大的問題找到共同的朋友!

這樣,它的工作原理

function GetMutualFriendsFor($id) 
    { 
     // Queries and returns results for mutual friends between user and id 
     $param = array(
          'method' => 'friends.getMutualFriends', 
          'source_uid' => $this->_user['id'], 
          'target_uid' => $id, 
          'callback'=> '' 
         ); 
     $mutualFriends = $this->_instance->api($param); 

    } 

不幸的是這個函數運行一次需要3分鐘...乘上10倍,你就開始有啓動腳本後做午飯!

我想這樣做,使用FQL,因爲它是速度更快,並返回正是我想(UID,名字),我已經試過

$query = 'SELECT uid1 FROM friend WHERE uid2=me() AND uid1 IN (SELECT uid2 FROM friend WHERE uid1=' . $id .') LIMIT 5'; 

但是PHP拋出一個錯誤的數據量:可」 t查找1523223065的所有朋友。只能查找已登錄的用戶(665044728)或登錄用戶的朋友並具有相應權限

有人知道該怎麼辦? PS:我已經看到所有其他職位上這個計算器,可惜沒有成功:(

非常感謝您!

回答

0

是的!我想通了,是要做到這一點的唯一方法,無論如何..我鼓勵大家使用FBJS的任何查詢,因爲它非常快速!2分鐘比較5秒!

謝謝反正!

1

據我所知,您無法通過這樣做FQL了。你的查詢是好的,它用來工作而回,但我認爲Facebook已經改變了一些事情......

-Roozbeh