【发布时间】:2016-01-24 21:11:12
【问题描述】:
我正在尝试使用 Instagram API 将特定用户的最新帖子加载到页面。根据 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 文档的头部并使其同步加载。结果没有变化。
*加载除了最新帖子之外的不同图片。那里也没有变化。
这就是我能想到的。是否有任何原因我无法通过我正在做的事情获得完整的嵌入式帖子?
谢谢!
【问题讨论】:
标签: javascript instagram-api oembed