2016-09-21 91 views
1

我想通過標記使用this Instagram端點來獲取所有最近的媒體。這裏的目的是跟蹤所有最近的媒體標籤。我已經配置了一個計劃任務(使用Java和Spring)(每小時執行一次)來發送請求並獲取數據。下面是執行順序:Instagram API分頁:下一頁

  • 通過結果發送GET請求,Instagram的和以前存儲max_tag_id(與空送,如果沒有以前的ID)
  • 迭代,從分頁元素提取next_max_tag_id並將其存儲在數據庫中針對與新max_tag_id再次對應標籤
  • 發送GET請求,並繼續
  • 停止,如果在next_url結果爲空或媒體數返回小於20(配置)

一旦執行完成,下一次執行(讓我們說一個小時後)將從先前存儲的max_tag_id開始。

我看到的問題是,我在後續執行過程中從未收到過「最近的」文檔。根據文檔,在請求中傳遞max_tag_id應該返回所有媒體該ID,但它沒有發生。我不斷收到舊媒體。

如果我想在每次執行中獲取最近的文檔,是否需要在每次執行的第一個請求中通過nullmax_id?如果我這樣做,每次執行都不會得到多餘的文檔嗎?我試圖問Instagram,但沒有得到任何答覆。另外,他們的文檔對分頁解釋很少。不確定最近的媒體端點的分頁是否反向工作。

回答

1

如果您希望最近不要使用max_tag_id,如果您使用max_tag_id,它將返回之前的所有媒體。

您需要通過撥打電話,只有min_tag_id得到min_tag_id和存儲,在接下來的一個小時開始,如果有pagination.next_url,用它來獲得下一組20,直到pagination.next_url不存在使用....存儲的min_tag_id可在下一小時撥打電話。

非常您第一次呼叫而不max_tag_idmin_tag_id

您還可以設置&count=32,得到32個員額與每個API調用,(32是從我的經驗最大值)

+0

謝謝你的精彩回答Krisrak,你是一個拯救生命的人:) –