【问题标题】:Instagram oauth - error 400 matching code not found [closed]Instagram oauth - 找不到错误400匹配代码[关闭]
【发布时间】:2017-05-01 00:25:50
【问题描述】:

问题始于两天前,影响了大约 70% 的用户。 此错误不取决于 IP、库或服务器配置。

Instagram 忽略了我的请求,Facebook 也一样。

我已尝试重置客户端密码、更改 IP 和区域,但没有任何帮助。

其他用户报告相同问题:https://news.ycombinator.com/item?id=13178789

也许来自 Instagram/Facebook 的人阅读了 StackOverflow 并可以提供一些建议或澄清这种情况?

【问题讨论】:

  • 有同样的问题。将我的信息添加到 instagram 开发者页面上的“报告问题”中。
  • @kendepelchin 我们报告了这个问题两次,仍然没有答案
  • 添加日志并确保您只使用 oauth 代码进行一次 POST 调用以获取 access_token
  • @krisrak 这是我第一次完成。我什至尝试在纯 ipython shell 中发出请求
  • 直接卷曲有效吗? (在这里添加我的经验:news.ycombinator.com/item?id=13194571

标签: instagram instagram-api


【解决方案1】:

我一直看到这一点。经过大量调查(一整天),Instagram 似乎已将其用于身份验证的主要 API 主机从 https://api.instagram.com 更改为 https://www.instagram.com 并使用 302 重定向。

如果您的代码向 api.instagram.com 发送 POST,它会被重定向,并且(我猜这里)Instagram 将其计为两个请求。

我已将my oauth code 中的api.instagram.com 更改为www.instagram.com,并且能够获得访问令牌。

【讨论】:

  • 不幸的是,这似乎对我没有帮助:/而且错误非常不一致。不过,在执行身份验证之前退出 Instagram 似乎会有所帮助。
【解决方案2】:

Instagram api 似乎已通过 302 重定向将 api.instagram.com 移动到 www.instagram.com

如果你使用omniauth-instagram gem,你可以使用这个修复:

#config/initializers/omniauth_instagram_api_path.rb

module OmniAuth
  module Strategies
    class Instagram
      option :client_options, {
        :site => 'https://www.instagram.com',
        :authorize_url => 'https://www.instagram.com/oauth/authorize',
        :token_url => 'https://www.instagram.com/oauth/access_token'
      }
    end
  end
end

目的是将api.instagram.com替换为www.instagram.com

我设法使我的登台和生产应用程序正常工作。

【讨论】:

  • 它仍然不适用于我的生产环境中的某些用户。我有另一个解决方法:
  • - 第 1 步:打开一个新标签页并在 Instagram 中登录并保持此标签页打开 - 第 2 步:打开一个新标签页并转到您的 Web 应用程序并通过 Instagram 登录。我用我的“无效凭据”帐户测试了 10 次,效果很好
【解决方案3】:

也有这个问题。如果您通过网络登录 Instagram,然后尝试身份验证流程似乎是一种解决方法。

【讨论】:

  • 很遗憾,这种解决方法并不一致。
猜你喜欢
  • 2015-07-03
  • 2020-06-13
  • 1970-01-01
  • 1970-01-01
  • 2016-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-10
相关资源
最近更新 更多