【问题标题】:Receiving "400 Bad Request" for /oauth/access_token收到 /oauth/access_token 的“400 错误请求”
【发布时间】:2016-06-17 12:47:27
【问题描述】:

我已批准 public_content clientId。为了获取访问令牌,我向 www.instagram.com 发送了一个请求:

GET /oauth/authorize?client_id=MyClientId&redirect_uri=MyRedirectURL&response_type=code&scope=likes+comments+public_content HTTP/1.1`

身份验证后,浏览器将我重定向到 MyRedirectURL,我可以从 URL 中获取代码。

使用此代码,我向 api.instagram.com 发送请求:

/oauth/access_token HTTP/1.1

client_id=MyClientId&client_secret=MyClientSecret&grant_type=authorization_code&redirect_uri=MyRedirectURL&code=CodeFromURL`

但有时我会收到响应 HTTP/1.1 400 Bad Request。 这种情况会持续几个小时,有时会持续一天。有趣的是,这个问题非常不稳定。我可能有两个发出相同请求的客户端应用程序,一个应用程序可以正常工作,而另一个会同时失败。看起来这是 Instagram 基础架构中的某个问题。

【问题讨论】:

  • 我也有同样的问题
  • 我也有两个应用程序使用相同的 API 凭据,可能与此有关
  • 我也有类似的问题:stackoverflow.com/questions/37898044/…
  • 我收到{ "code": 400, "error_type": "OAuthException", "error_message": "You must provide a client_id" }
  • 将 ContentType 更改为 x-www-form-urlencoded 可解决此问题。

标签: instagram instagram-api


【解决方案1】:

Instagram 不再支持您的回调网址的自定义架构。那是我的问题,我改成https,问题就解决了。

【讨论】:

  • 你有官方声明的链接吗?
  • 不是我看到的,但是最近他们的条款和其他事情发生了很多变化。
  • 如果你没有任何官方声明的链接,你怎么能这么确定?
  • 那么如何在没有自定义方案的情况下重定向回您的应用程序?
  • 我们如何重定向回我们的应用程序?
【解决方案2】:

我认为你应该更喜欢 Instagram 的 this document

您还可能收到 HTTP 响应代码为 400(错误 请求)如果我们检测到使用您的应用程序的人的垃圾邮件行为。 这些错误与速率限制无关。

【讨论】:

  • 有没有办法识别这种情况?
  • 我不确定,但你没有办法识别它。
【解决方案3】:

看来,我们不能在回调 url 中使用http://localhost/...。 Instagram 可能已对其进行了限制。

当我添加了我的 aws 服务器的实时 IP 时,它对我有用。例如 http://xx.xx.xx.xx/.. 而不是 localhost。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-08
    • 2019-07-11
    • 2016-01-04
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 2016-09-11
    • 1970-01-01
    相关资源
    最近更新 更多