【问题标题】:Instagram new API errorInstagram 新 API 错误
【发布时间】:2016-07-26 08:22:38
【问题描述】:

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

如何解决这个问题?

【问题讨论】:

    标签: instagram instagram-api


    【解决方案1】:

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

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

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

    1. 沙盒中的应用仅限 10 个用户
    2. 数据仅限于 10 个用户和每个用户的 20 个最新媒体
    3. 降低 API 速率限制。

    要上线并完全访问 Instagram 内容,您需要submit your application for review and approval。审核后,您将只能向用户请求您的应用获得批准的权限范围。

    【讨论】:

      【解决方案2】:

      在我们可以通过并重新验证每个用户之前,我们会直接从 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 不必被批准为应用。您只需要重新验证每个提要。他们指定所有旧版应用程序都将恢复到沙盒模式,但没有让所有人都知道身份验证密钥也会过期。

      以下是开发文档中的相关信息:

      以下是一些不会被批准的场景示例:

      • 显示个人网站的内容。如果您是开发人员并且 您想在网站上展示 Instagram 内容,那么您不会 需要提交您的应用以供审核。通过在沙盒中使用客户端 模式下,您仍然可以访问任何媒体的最后 20 个媒体 授予您权限的沙盒用户。

      • 一次性项目。如果您是建立网站或其他机构的机构 集成,请注意,我们不会向创建的客户端授予权限 对于一次性项目。如果您对构建产品感兴趣, 将用作跨多个服务的平台或小部件 项目,那么您可以提交一个可以使用的 client_id 跨多个项目。

      • 使用小部件。如果您正在为您的网站安装小部件, 那么您无需提交审核。一些小部件可能会问你 创建一个新的客户 ID,但您不需要提交它 检查小部件是否正常工作。您的客户端可以保持沙盒模式 并且该小部件将可以访问您最近的 20 个媒体。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-04-23
        • 1970-01-01
        • 2015-08-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多