2017-08-03 92 views
-6

我想在客戶端使用JavaScript來做到這一點。如何從Instagram API使用JSON?

問題:如何訪問存儲在帶有JavaScript的https://www.instagram.com/xsolvesoftware/media/中的JSON並將其變爲Object?

我試過的XMLHttpRequest

function httpGet(theUrl) 
 
{ 
 
    var xmlHttp = new XMLHttpRequest(); 
 
    xmlHttp.open("GET", theUrl, false); // false for synchronous request 
 
    xmlHttp.send(null); 
 
    return xmlHttp.responseText; 
 
} 
 
var data = httpGet("https://www.instagram.com/xsolvesoftware/media/"); 
 
console.log(data);

我試圖與SRC加載它,但它顯然是因爲它僅適用於標籤內內容不工作:

var jsonData = JSON.parse(document.getElementById('data').textContent)
<script id="data" type="application/json" src="https://www.instagram.com/xsolvesoftware/media/"> 
 
</script>

我試過編輯這個例子勒但它使用JSONP不是JSON作爲回覆,我想我會得到JSONP只有我會使用與註冊訪問給用戶的內容:

var token = '1362124742.3ad74ca.6df307b8ac184c2d830f6bd7c2ac5644', 
 
    num_photos = 10, 
 
    container = document.getElementById('rudr_instafeed'), 
 
    scrElement = document.createElement('script'); 
 
    
 
window.mishaProcessResult = function(data) { 
 
\t for(x in data.data){ 
 
\t \t container.innerHTML += '<li><img src="' + data.data[x].images.low_resolution.url + '"></li>'; 
 
\t } 
 
} 
 
    
 
scrElement.setAttribute('src', 'https://api.instagram.com/v1/users/self/media/recent?access_token=' + token + '&count=' + num_photos + '&callback=mishaProcessResult'); 
 
document.body.appendChild(scrElement);
<ul id="rudr_instafeed"></ul>

+0

我想訪問存儲在這個鏈接的JSON https://www.instagram.com/xsolvesoftware/media/ – AESTHETICS

+0

我試過XNLhttpRequest但沒有運氣。我曾嘗試通過src加載它,但它沒有奏效。 – AESTHETICS

+0

我被告知不能在客戶端使用JavaScript。 – AESTHETICS

回答

-1

你已經嘗試過嗎? 你有什麼具體問題? 如果您已經嘗試過,您可以提供一些代碼片段並解釋您正在使用哪些代碼片段? (編輯:你編輯的問題,並添加了一些代碼片段,我現在看看他們)

從遠處它聽起來像你正在運行到CORS陷阱。 你需要一個後端服務來爲你提供運行在你的頁面上的json。 This answer是一個很好的起點:)

希望這有助於。

編輯:看看你的代碼片段,它就像我假設的那樣:你有一個CORS的問題。您的JavaScript不允許從任意URL加載數據。

+0

我正在嘗試在客戶端執行此操作,但感謝您的輸入。 – AESTHETICS