簡體   English   中英

使用since updated_time參數進行Facebook Graph API搜索

[英]Facebook Graph API search using since updated_time parameter

我在Python中使用Facebook Graph API。 每個帖子都有兩個日期時間:

  1. created_date
  2. 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_time2015-10-15 ,那么我知道該帖子是在2015-07-07之前創建的,但是之后更新。 它不會在since查詢中被提取,但我可以輕松地單獨下載它以同步我的緩存。

如果您的應用程序的目標是對給定頁面或訂閱源上的更改做出反應,請考慮使用Webhooks而不是手動抓取頁面以進行更新。

Webhooks允許您接收Facebook社交圖中特定對象更改的實時HTTP通知。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM