【问题标题】:Instagram feeds not available : Need some alternate to get the instragram user public contentInstagram 提要不可用:需要一些替代方法来获取 Instagram 用户的公共内容
【发布时间】:2016-07-14 14:54:21
【问题描述】:

我们曾经使用以下 API 获取用户的 Instagram 供稿:

$query = array(
             'client_id' => INSTAGRAM_CLIENT_ID,
             'q' => 'ladygaga'
         );

         $url = "https://api.instagram.com/v1/users/search?".http_build_query($query);

         $user_data = getcurldata($url);
.

$main_user_id = $user_data['data'][0]['id'];

                   $content_query = array(
                       'client_id' => INSTAGRAM_CLIENT_ID
                   );

                   $url_for_content = "https://api.instagram.com/v1/users/$main_user_id/media/recent?".http_build_query($content_query);

                   $insta_data = getcurldata($url_for_content);

现在我们没有从 API 获取用户提要。 Instagram 已根据 APP 更改其 API 设置。 他们在提要提供给用户之前已经开始了用户身份验证。他们还说,在沙盒模式下,一个特定的 APP 只能添加 10 个用户,一个 APP 只能获取这 10 个用户的提要,并且最多可以发布最后 20 个帖子。

但我们想要几个用户(世界各地的艺术家)的订阅源:例​​如:ladygaga、akon 等。要获取他们的数据,我们无法在我们的 APP 上对他们进行身份验证。此外,只有 10 个用户身份验证无济于事,因为我们需要大约 5k-10k 艺术家提要。

我们可以从哪里获得这个 Feed 的任何替代方案?有什么帮助吗?

【问题讨论】:

    标签: php instagram feed instagram-api


    【解决方案1】:

    您可以抓取 Instagram 前端数据。基本上在

    处有一个用户 JSON 提要
    'https://www.instagram.com/' . $username . '/?__a=1'
    

    和媒体供稿

    'https://www.instagram.com/' . $username . '/media/'
    

    可以使用GET参数max_idoffset_idcount进行分页。

    但请注意,这种前端抓取可能违反某些 Instagram 政策,如果访问过于严厉,您可能会被 Instagram 阻止。

    有一个节点库instagram-screen-scrape 可以执行此操作,您可以查看其源代码以获取提示。

    【讨论】:

    • 这也很有可能随机中断,因为 Instagram 可以随时更新该 URL。他们的应用程序可以正常工作。你的不会。像 OP 打算做的那样抓取 5-10k 也可能会导致服务器被阻塞。
    • 这是很棒的信息,不知道max_id 是否可行,谢谢!
    【解决方案2】:
    1. 就目前而言,您必须使用访问令牌。仅拥有客户端 ID 已不足以从 API 访问数据。
    2. 在沙盒模式下,除了邀请到沙盒的十个用户之外,您将无法访问任何用户的数据。如果您想访问的不仅仅是沙盒用户,您需要submit your site 才能“上线”。这需要 Instagram 对您的网站进行严格检查。

    但我们想要几个用户(世界各地的艺术家)的供稿:例如: ladygaga、akon 等。

    由于新的 API 规则,除非您邀请ladygaga、akon 等加入您的沙盒,否则您将无法执行此操作。我在想查看我的关注者列表的地方做了类似的事情。我一直在data: [] 没有输入的地方得到空的 JSON 对象。我必须创建一个假帐户并关注我的真实帐户。完成此操作后,请求我的关注者列表导致获得一个用户,即我创建并邀请到我的沙盒的假用户。


    IMO Instagram 完全削弱了他们的 API,除了生产就绪的服务外,其他所有服务都无法访问它。现在处理分页变得特别困难,因为沙盒模式对您的关注者列表或您可以一次请求的媒体添加了限制,因此您将无法对其进行测试。

    我确信 Instagram 对最近的这一变化有正当的理由,但我并不高兴。

    【讨论】:

      【解决方案3】:

      您可以访问以下链接, https://www.dialogfeed.com/best-tips-for-instagram-api-update/

      它不是免费的,您可以联系他们询问价格。

      **Is there an alternative to Instagram API ?**
      
      Yes, you can use third party providers, like Dialogfeed as we have been approved by Instagram.
      We provide you with a platform to create your widget or an API delivering Instagram feeds. Your choice.
      

      它似乎是获取 Instagram 用户公开内容的替代方案。

      【讨论】:

        【解决方案4】:

        我和社区编写了这个库,完全可以满足您的需求:

        https://github.com/raiym/instagram-php-scraper

        【讨论】:

          猜你喜欢
          • 2018-09-21
          • 1970-01-01
          • 2020-02-16
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多