2016-08-11 59 views
0

返回所有圖片我使用這個URL來返回標記YOLO所有圖像計數: https://api.instagram.com/v1/tags/yolo?access_token=Instagram的API網址帶有特定標籤

反正是有回報的圖像URL及其元數據以及?我似乎只能獲得與訪問令牌相關的用戶的圖像URL。

我可以通過下面的調用來取回Instagram所需要的數據。我如何將.window._sharedData解壓縮爲json對象?

var xhr = new XMLHttpRequest(); 
 
xhr.open('GET', "https://www.instagram.com/explore/tags/yolo/"); 
 
xhr.onload = function() { 
 
    if (xhr.status === 200) { 
 
     var result = xhr.responseText; 
 
     // .window._sharedData; 
 
     console.log(result); 
 
     // ('request successful ' + xhr.responseText.); 
 

 
    } 
 
    else { 
 
     console.log('request failed: ' + xhr.status); 
 
    } 
 
}; 
 
xhr.send();

回答

0

爲了讓所有的媒體和相關的元數據,您需要使用GET /tags/tag-name/media/recent功能,像這樣:https://api.instagram.com/v1/tags/yolo/media/recent?access_token=

首先你會得到20名單(如果我沒有記錯,現在無法檢查)最近的媒體(圖像和/或視頻),然後你必須檢查你得到的最後一個媒體項目的ID。然後,您只需創建一個新的請求MIN_TAG_ID設置爲該值。

重複,直到你有來自該標記的所有媒體。

基本上,在返回項目列表的Instagram API中的所有函數都會啓用某種分頁。您只需要逐頁請求結果即可獲得完整的集合。


如果您測試您的沙箱應用程序,你會得到不同的結果集比實時應用將得到的。下面是從的Instagram的API文檔的解釋:

再舉一個例子,讓我們考慮返回的媒體列表的端點:/tags/{tag-name}/media/recent。按照預期,此端點返回的響應將只包含具有給定標記的媒體。但不是從任何公共Instagram用戶返回媒體,它將只返回屬於您的沙箱用戶的媒體,限於每個用戶的最後20個媒體。

+0

這隻會返回帶有該標記的用戶圖像。我使用的網址將使用該標籤返回網站上所有圖片的計數。你知道我怎樣才能讓所有用戶使用該標籤獲取所有圖片嗎? – realbadrabbits

+0

@TimmyTimmy你確定嗎?該函數應該返回所有用戶針對該特定主題標籤的所有媒體。你只需要瀏覽所有的頁面,你就會發現結果列表中的媒體與你的原始函數返回的計數匹配。 – hankide

+0

這是我得到的回報:{「pagination」:{「deprecation_warning」:「此終結點不推薦使用next_max_id和min_id;使用min_tag_id和max_tag_id代替」},「meta」:{「code」:200}「data 「:[]}數據數組是空的? – realbadrabbits

相關問題