2013-01-17 65 views
0

我正在嘗試使用FQL將所有Facebook朋友的最後一次登入。 ,因爲我有很多朋友在FQL查詢永遠把所以我已經縮小它,他們的當前位置是城市和我一樣的朋友:Facebook FQL讓我所有的朋友最後一次登錄

SELECT author_uid, coords FROM checkin WHERE author_uid IN 
(SELECT uid FROM user WHERE uid IN 
(SELECT uid2 FROM friend WHERE uid1 = me()) AND current_location.city IN 
(SELECT current_location.city FROM user WHERE uid = me())) 

我的問題:

  1. 爲每個用戶我得到5行。有沒有辦法讓每個用戶只有5行?
  2. 有沒有辦法做一個GROUP BY也許?
  3. 這不正是我一直在尋找...會很高興地聽到建議
+0

其對時間計算器將不允許向下投不加評論..它只是粗魯 –

回答

1

這可能是比較容易做的圖形API比FQL。這會讓你最近檢查你所有的朋友。

/me/friends?fields=checkins.limit(1) 

有一個在FQL沒有SELECT UNIQUE語法,所以你需要在你的客戶端應用程序來篩選結果。您可以使用ORDER BY對這些進行排序。

+1

這是造成(# 613)對checkin_fql的調用已經超過600次/ 600秒的速率。 –

+0

你是如何打電話給API的? – cpilko

+0

我正在嘗試它現在拋出圖形api資源管理器..正如你寫的 –

2

如果您收到"exceeded the rate of 600 calls per 600 seconds"

剛剛刷新access token

/me/friends?fields=checkins.limit(<>)會做的伎倆爲您服務。

如果你想使用 fql然後

SELECT checkin_id FROM checkin WHERE author_uid IN (SELECT uid2 FROM friend WHERE uid1 = me()) 

它會給你朋友的簽入。

如果你也想在你的朋友的標籤,然後使用follwoing查詢那些籤:

SELECT checkin_id FROM checkin WHERE author_uid IN (SELECT uid2 FROM friend WHERE uid1 = 

me()) OR tagged_uids IN (SELECT uid2 FROM friend WHERE uid1 = me())