Я пытаюсь использовать API Instagram для загрузки последнего сообщения определенного пользователя на страницу. Согласно документам API, используя только короткую ссылку для нужного изображения, ответ oEmbed должен содержать все, что вы получите, если щелкнете ссылку «встроить» на самом изображении.
Вот мой код:
window.onload = function () {
var insta = new XMLHttpRequest();
var embed = document.getElementById('embed');
insta.open("GET", "https://api.instagram.com/v1/users/user/media/recent/?access_token=my-token");
insta.send();
insta.addEventListener("load", function(){
var jsonResponse = JSON.parse(insta.responseText);
var lastImageLink = jsonResponse.data[0].link;
var shortCode = lastImageLink.split("/p/")[1];
var url = "https://api.instagram.com/oembed?url=http://instagr.am/p/" + shortCode;
var getLatest = new XMLHttpRequest;
getLatest.open("GET", url);
getLatest.send()
getLatest.addEventListener("load", function(){
getLatest = JSON.parse(getLatest.responseText);
embed.innerHTML = getLatest.html;
});
});
};
Поэтому я делаю запрос GET, чтобы получить ссылку на последний пост, беру из него суффикс короткой ссылки, а затем использую эту короткую ссылку для выполнения другого запроса GET, чтобы получить код для встраивания с помощью метода oEmbed. Однако, когда я загружаю страницу, я вижу только это:
Что я пробовал:
* Я знаю, что API зависит от библиотеки embeds.js, поэтому я переместил ее в заголовок html-документа и сделал так, чтобы она загружалась синхронно. Никаких изменений в результате.
* Загрузка разных изображений, кроме последнего поста. Там тоже без изменений.
И это все, о чем я могу думать. Есть ли какая-то причина, по которой я не могу получить полный встроенный пост о том, что я делаю?
Спасибо!