This site I have正在使用#embedstagram,即在我的网站上调用Instagram的Feed。但它显示"错误:提供的ACCESS_TOKEN是无效的"。它昨天仍然正常(2016年6月30日)。我知道IG已经改变了他们的API政策,但我仍然不明白沙盒是如何工作的。
如何解决这个问题?
答案 0 :(得分:0)
在2015年11月17日当天或之后创建的应用将从Sandbox Mode开始,并在新更新的API rate-limits和行为上运行。
这是一个功能齐全的环境,可让您在提交应用以供审核之前公开测试API endpoints。
为了帮助您开发和测试您的应用,沙盒模式中可用的用户和媒体是真实的Instagram数据(即Instagram应用中通常可见的数据),但具有以下条件:
要进入直播并完全访问Instagram内容,您需要submit your application for review and approval。审核后,您只能向用户请求批准您的应用的权限范围。
答案 1 :(得分:0)
在我们完成并重新验证每个用户之前,我们会直接从Instagram获取。 这是一个修补程序,不应该保留在生产中
$result = file_get_contents("https://www.instagram.com/[username]/media");
$result = json_decode($result);
<? if ($result !== false): ?>
<? if (!empty($result)): ?>
<? foreach ($result as $post): ?>
<? if(is_array($post)): ?>
<? $count = 1; ?>
<? foreach($post as $data): ?>
<?= $count+1; ?>
<a href="<?= $data->link ?>" target="_blank">
<img="<?= ($data->images->standard_resolution->url) ?>/">
</a>
<? if ($count++ == 4) break; ?>
<? endforeach; ?>
<? endif; ?>
<? endforeach ?>
<? else: ?>
<div>
<p>No instagram posts found!</p>
</div>
<? endif; ?>
<? endif; ?>
网站的Feed不必被批准为应用。您只需重新验证每个Feed。他们指出所有遗留应用都将恢复为沙盒模式,但并不是每个人都知道授权密钥也会过期。
以下是开发文档中的相关信息:
以下是一些未经批准的方案示例:
显示个人网站的内容。如果您是开发人员而且 你想在网站上展示Instagram内容,那么你不想 需要提交您的应用以供审核。通过在沙箱中使用客户端 模式,你仍然可以访问任何最后20个媒体 授予您权限的沙盒用户。
一次性项目。如果您是建立网站或其他网站的代理商 集成,请注意我们不会为创建的客户端授予权限 一次性项目。如果您对构建产品感兴趣, 将用作跨多个服务的平台或窗口小部件 项目,然后您可以提交一个可以使用的client_id 跨多个项目。
使用小部件。如果您要为您的网站安装小部件, 那么你不需要提交审查。有些小部件可能会问你 创建新的客户端ID,但您不需要提交它 检查小部件是否有效。您的客户端可以保持沙盒模式 并且小部件可以访问您最近的20个媒体。