如何使用Instagram gem獲得結果的下一頁?Instagram寶石:如何獲得結果的下一頁?
API本身的文檔說明每個結果都有一個pagination
散列值(請參閱:http://instagram.com/developer/endpoints/)。我如何使用寶石訪問它?
如何使用Instagram gem獲得結果的下一頁?Instagram寶石:如何獲得結果的下一頁?
API本身的文檔說明每個結果都有一個pagination
散列值(請參閱:http://instagram.com/developer/endpoints/)。我如何使用寶石訪問它?
明白了。我不認爲Instagram返回的pagination
散列可以訪問,但在查詢時可以傳入max_id
選項,以獲取下一組較舊的圖片。
@results = Instagram.user_recent_media(some_user_id, {access_token: token, count: 10, max_id: 197679035065553721})
通過傳遞max_id
(照片的ID),這將返回所有結果比舊的。因此,從第一個查詢中獲取最老的照片的ID,並將其傳入以獲取下一頁。
注意:當您得到結果時,圖片的ID格式如下:197679035065553721_someuserid
。您必須解析出下劃線之前的第一位,並將其作爲max_id
傳入。
您可能會失敗。如果您查看client modules,則可以看到這些方法正在返回響應的data
字段,因此pagination
字段不可用。還有an issue涉及到響應中缺少分頁信息。
Instagram.tag_recent_media(params[:q]).pagination
運行該代碼,您將看到分頁屬性。
我已經研究過這對我自己的項目,並最終發現,你可以得到客戶通過創建客戶端時no_response_wrapper設置爲true給你分頁信息:
client = Instagram.client(:access_token => accesstoken,
:no_response_wrapper => true)
這使得所以你可以使用Yagit C. Bacakoglu建議的響應.pagination。
分頁可以在API響應中找到。雖然文檔沒有提到這一點,但是當您使用Instagram gem時,除了「data」項目外,返回的散列還包含一個「pagination」項目。 –
有關結果結構的一般信息,請參見http://instagram.com/developer/endpoints/。這也提到了支持分頁的端點的「分頁」屬性。 –
可以通過指定每個頁面的響應數量(在php或javascript中)來顯示並舉例說明在下一頁加載下一個最老的instagram api集合嗎? – user1788736