![](/img/trans.png)
[英]Facebook Graph API - updated_time is incorrect for a single post
[英]Facebook Graph API search using since updated_time parameter
我在Python中使用Facebook Graph API。 每個帖子都有兩個日期時間:
created_date
updated_date
當我提供since
參數時,它返回的feed其中created_date
大於或等於since
參數。 例如,如果我提供since=2015-06-05
它將返回從2015年6月5日到現在的所有帖子。
但是假設有一個帖子在2015年6月7日發布,並且在2015年6月8日發生了很少的活動(喜歡,分享,評論等)。在這種情況下,該帖子的updated_time
發生了變化,但created_time
將是相同的(2015年6月7日)。 如果我since=2015-06-08
傳遞參數,那么我將無法跟蹤該帖子上的所有活動。
是否有任何解決方案可以通過updated_time
傳遞since
參數而不是將其傳遞給created_time
?
正如@CBroe指出的那樣,Facebook Graph API不支持這一點。 (它可以使用FQL完成,但是已經棄用,並且不再支持更長時間)。
也就是說,通過一些創造力(以及一些額外的代碼),可以通過組合幾個查詢來實現類似的效果。
在我的應用程序中,我使用以下參數執行查詢:
until=2015-07-07
(或者since
任何日期) fields=updated_time
(保持查詢快速,有效負載小) limit=5000
(或者一些類似的大頁面大小,因為我只抓取一個字段) 然后,我評估每個帖子的updated_time
大於since
日期since
預期,並將這些帖子放入隊列以下載整個帖子內容。
注意:如果您正在處理過去內容頻繁更新的內容,您可能希望使用Graph API的批量請求功能 ,而不是單獨下載每個帖子。
因此,舉例來說,如果until
(並且因此, since
)日期是2015-07-07
並且帖子上的updated_time
是2015-10-15
,那么我知道該帖子是在2015-07-07
之前創建的,但是之后更新。 它不會在since
查詢中被提取,但我可以輕松地單獨下載它以同步我的緩存。
如果您的應用程序的目標是對給定頁面或訂閱源上的更改做出反應,請考慮使用Webhooks而不是手動抓取頁面以進行更新。
Webhooks允許您接收Facebook社交圖中特定對象更改的實時HTTP通知。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.