Instagram新的API错误

时间:2016-06-02 09:44:04

标签: instagram instagram-api

This site I have正在使用#embedstagram,即在我的网站上调用Instagram的Feed。但它显示"错误:提供的ACCESS_TOKEN是无效的"。它昨天仍然正常(2016年6月30日)。我知道IG已经改变了他们的API政策,但我仍然不明白沙盒是如何工作的。

如何解决这个问题?

2 个答案:

答案 0 :(得分:0)

在2015年11月17日当天或之后创建的应用将从Sandbox Mode开始,并在新更新的API rate-limits和行为上运行。

这是一个功能齐全的环境,可让您在提交应用以供审核之前公开测试API endpoints

为了帮助您开发和测试您的应用,沙盒模式中可用的用户和媒体是真实的Instagram数据(即Instagram应用中通常可见的数据),但具有以下条件:

  1. 沙箱中的应用仅限10个用户
  2. 数据仅限于10个用户和每个用户的20个最新媒体
  3. 降低API速率限制。
  4. 要进入直播并完全访问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个媒体。