2013-03-03 66 views
0

我正在嘗試獲取用戶的所有聊天對話。我得到訪問令牌並直接查詢facebook表格(沒有圖表api,只是普通的FQL)。 FQL Guide在Facebook中尋呼FQL

這是我使用

選擇身體的查詢,從信息THREAD_ID其中的thread_id在 (在線程選擇的thread_id其中folder_id = 0或folderid = 1)

我沒有得到整個結果。我已經嘗試了偏移量和限制,但不知道什麼樣的條件,我應該迭代這個(我怎麼找到結束??)。

另外如何使用自從,直到在FQL? 像 select thread_id from thread where folder_id=0 since =UNIXTIMESTAMP(這不工作!!!)。我該怎麼做?

+0

[FQL獲取Facebook用戶標識符不會返回「分頁」鍵作爲響應]的可能重複(http://stackoverflow.com/questions/12931868/fql-for-getting-facebook-user-ids-does- not-return-paging-key-in-response) – 2013-03-04 18:36:04

回答

2

您可以嘗試使用message tablecreated_time字段按時間限制請求,並限制每個請求的結果。

對於所有16/8/2011 00:0016/8/2011 23:59(我的生日)之間的線程:

SELECT body,thread_id FROM message WHERE thread_id IN 
    (SELECT thread_id FROM thread WHERE folder_id=0 OR folder_id=1) 
AND created_time > 1313452800 AND created_time < 1313539140` 

如果你控制分頁...通過Graph API Explorer這將是對你的最終獲得更好的性能,我能得到+ -750線程,但我不知道什麼(如果有)限制適用。我認爲可以肯定地說會有一個限制。

+0

雖然我按時間請求,但並沒有放棄確切的結果。我試着爲我昨天的聊天記錄(它不會超過50封郵件),它不會全部收回。例如,它錯過了前5-6個會話。任何想法 ?據我所知,沒有辦法得到確切的數據,糾正我,如果我錯了。 – Niranjan 2013-03-04 04:01:51

+0

明白了,它有限制。我猜如果沒有指定限制,它會佔用一些默認值!使用此SELECT體,thread_id FROM消息WHERE thread_id IN (SELECT thread_id FROM thread WHERE folder_id = 0或folder_id = 1) AND created_time> 1362182400 AND created_time <1362376740 limit 500 – Niranjan 2013-03-04 04:04:50

+0

您應該添加參數LIMIT,否則它將運行un-正確。 – 2013-12-04 06:11:01