2014-12-05 115 views
0

我正在嘗試使用Instagram API創建所有用戶的Instagram圖片庫。 但我在畫廊裏只有約33張照片。 你能幫我嗎?我怎樣才能解決這個問題?Instagram API:我如何獲取所有用戶的圖片?

$response = file_get_contents('https://api.instagram.com/v1/users/' . $target . '/media/recent?access_token=' . $_SESSION['instagram_token'] . '&count=-1'); 
+0

您遇到什麼問題? – gareththegeek 2014-12-05 13:24:09

+0

[Instagram API:如何獲取所有用戶媒體?](http://stackoverflow.com/questions/10881511/instagram-api-how-to-get-all-user-media) – 2016-07-18 22:32:02

回答

1

根據documentation您使用的端點將返回所有最近媒體從用戶。因此它不承諾返回全部圖像。即使您指定了計數,也會返回最大數量的圖像。

但是,您可以使用分頁;看到下面的問題/答案的信息:

Instagram API: How to get all user media?

我想你可以閱讀20%的要求,然後找到結果的最低ID,並以此作爲下一個請求的最大ID。

Request 1 (no max_id) 
Id 100 
Id 99 
.. 
Id 81 

Request 2 (max_id=81) 
Id 80 
.. 
Id 61 

Request 3 (max_id=61) 
Id 60 
.. 
Id 41 

然後保持請求,直到你沒有得到任何更多的媒體返回

+0

它可能不重複工作。結果與使用提供的分頁相同。 – thedjaney 2016-01-29 07:05:52

0

每個API調用將返回最多20張照片,你必須使用pagination.url API響應再拍API調用來獲取接下來的20張照片等等。

https://api.instagram.com/v1/users/3/media/recent/?access_token=ACCESS-TOKEN 
0

Instagram API對其返回的結果數量施加了無聲的無證限制。即使你通過的count高於33,它也只會返回最多33個結果。

我已經用Javascript編寫了一個hack,它以製作更多API調用爲代價消除了這個限制。目前,它只適用於用戶查詢,但我可以實現它,因此它也適用於標籤查詢,這取決於我的可用時間和需求。

請隨時提交拉請求! (您可能希望將我所做的操作轉換爲PHP代碼,以便您可以安全地使用訪問令牌)

相關問題