2016-02-13 70 views
2

所以我正在研究一个相当简单的项目,基本上是一个网页,应该列出来自某个instagram帐户的标题。这是全部设计,只需要点亮内容即可。看看http://evanshellborn.com/speechofthebeets/使用简单网页的Instagram API

我发现你可以在instagram.com/{username}/media看到一个包含所有必要数据的json文件。所以在我的情况下,https://www.instagram.com/beets_are_life/media/。所以在我把这个页面实际在线之前,我在我的本地机器上,并且对该页面做了一个JSON调用,并且它完美地工作。所以我把它全部建成,我的网页就像我想要的那样加载字幕。

然后我去了网上,(http://evanshellborn.com/speechofthebeets),但它不起作用。看看它底部的脚本,我的localhost上的代码工作和标题被加载。但是在实时页面上,我在控制台中看到一个不允许访问的错误。所以我认为Instagram不允许这种直接访问,你必须通过他们的API。

现在我已经试过看API,但它似乎相当混乱。基本上我要求的是一个不同的JSON网址,它会给我与https://www.instagram.com/beets_are_life/media/相同的结果,但是这将在活动页面上起作用。

我认为https://api.instagram.com/v1/users/{user-id}/?access_token=ACCESS-TOKEN会工作,只是用appropraite user_id替换{user-id}。但是,我在哪里可以获得访问令牌?

从阅读https://www.instagram.com/developer/authentication/,它看起来像你得到一个时,用户放入他们的用户凭据。但我不想让任何人登录,我只想要一个简单的网页。

希望这是有道理的。我该怎么做我想要的?

+0

你可以得到access_token一次并使用它,直到它过期。 –

+0

所以我试了一下,它在本地运行良好,但当我把它放置时再次被拒绝。你知道那里发生了什么吗? @DimaBabich – eshellborn

+0

你注册了你的应用程序与正确的网址? –

回答

1

貌似API网址https://www.instagram.com/beets_are_life/media/不支持jsonp(无回调支持),所以你无法作出API请求使用JavaScript(客户端),它会失败,因为在浏览器端Access-Control-Allow-Origin错误,你必须让这个API在服务器端调用代理。

我猜https://www.instagram.com/<USER_NAME>/media/是不公开记录的API,这就是它不支持jsonp的原因,Instagram的使用它自己的网站,因为它是same-origin它会为他们工作在客户端

+0

所以......我能做些什么吗?我尝试使用API​​ URL https://api.instagram.com/v1/users/2276793475/media/recent/?access_token={access_token},但我得到了相同的结果 – eshellborn

+0

add'&callback =?'到url结尾,它会起作用 – krisrak

0

This link将帮助你将instagram嵌入到一个简单的html网页上。 instagram上的帖子底部有一个按钮,当你点击链接时会弹出一个菜单。然后点击嵌入 enter image description here

现在弹出一个框,

enter image description here

只是复制粘贴HTML和你做。 它会为你取回帖子