【问题标题】:Accessing public Instagram content via Instagram API without expiring accesstoken通过 Instagram API 访问公共 Instagram 内容而不使 accesstoken 过期
【发布时间】:2017-04-20 19:56:42
【问题描述】:

我想显示与特定主题标签相关的 instagram 中的公共内容(一切正常),但我无法在 access_token 每次到期时更新它。

("不要假设你的 access_token 永远有效。" - https://www.instagram.com/developer/authentication/)

手动更新它不是一个选项,我必须确保在任何时候都有一个有效的access_token 而无需重新验证。

有什么想法或问题吗? :)

【问题讨论】:

  • 当我查看文档时,他们似乎没有提供刷新令牌,因此您无法刷新访问令牌。
  • 您能告诉我您如何检索特定哈希标签的公开帖子吗?

标签: oauth-2.0 instagram access-token instagram-api


【解决方案1】:

我有一个想法,但没有 API(和 access_token)。您可以使用 ?__a=1 参数向网络版 Instagram 发出请求。我不知道它会工作多久,但现在有工作流程:

  1. 例如,您希望显示带有标签 space 的公共内容。
  2. 将其添加到url并添加GET参数?__a=1https://www.instagram.com/explore/tags/space/?__a=1
  3. 发出 GET 请求。它返回json,节点位于top_posts (8) 和media (18)。每个节点都有ownercaption、cmets 数量和点赞数。但最重要的部分在thumbnail_srcdisplay_src
  4. media 对象中有 page_info 有助于对结果进行分页。您需要end_cursor(例如J0HWE9rjAAAAF0HWE9qvgAAAFiYA
  5. end_cursor 中的值添加到url:https://www.instagram.com/explore/tags/space/?__a=1&max_id=J0HWE9rjAAAAF0HWE9qvgAAAFiYA
  6. 重复 3-6 以获取带有特定主题标签的最新帖子。

【讨论】:

  • 感谢您的回答!这现在可能有效,但我需要一个稳定的未来解决方案。未来可能会有未宣布的变化..
  • 它至少可以工作 7 个月。我认为它相当稳定。
  • 这对于用户名现在不起作用。例如:instagram.com/3mariachisrd/?__a=1
【解决方案2】:

更新 ?__a=1 网址参数。这似乎已停止与用户 '/account/?__a=1' 端点一起使用。:( 显然仍然适用于标签。

【讨论】:

  • 是的,我可以确认这一点。在我开发一些软件的过程中关闭。以为这是来自 instagram 的软 IP 禁令,但后来注意到它甚至通过代理和多个设备给出 403 拒绝访问响应。
  • 这里也是。我猜他们会在听证会后关闭漏洞。
  • 我认为这与 facebook 的隐私门有关。但我不再关注那个话题了。
  • 还有什么办法吗?
  • 天哪!还有其他方法吗??
【解决方案3】:

Instagram 关闭了他们的公共 API。这是 PHP 中一个快速而肮脏的解决方法:

<?php
function getPublicInfo($username) {
    $url     = sprintf("https://www.instagram.com/$username");
    $content = file_get_contents($url);
    $content = explode("window._sharedData = ", $content)[1];
    $content = explode(";</script>", $content)[0];
    $data    = json_decode($content, true);
    return $data['entry_data']['ProfilePage'][0];
}

不确定它会工作多长时间。 Here 是 Javascript 的。

【讨论】:

    猜你喜欢
    • 2017-06-05
    • 1970-01-01
    • 1970-01-01
    • 2015-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多