Instagram API 匹配代码未找到或已被使用
Posted
技术标签:
【中文标题】Instagram API 匹配代码未找到或已被使用【英文标题】:Instagram API Matching code was not found or was already used 【发布时间】:2016-12-18 15:59:22 【问题描述】:我在使用 Instagram API 的实时服务器上看到此错误。
"Error":true,
"message":"Matching code was not found or was already used."
我在这里阅读了一些清除缓存的建议,但这并不能解决问题。我也无法直接在 Instagram 网站上提交支持票,因为我在尝试提交票时收到错误消息。
【问题讨论】:
如果你也关注这个,请检查这个简单的answer。 【参考方案1】:有很多开发者在https://news.ycombinator.com/item?id=13178789 抱怨同样的问题。我不认为取消选中“禁用隐式 OAuth”可以解决问题,因为我已经尝试过了,但它没有用。
您可以做的最好的事情是使用您的客户 ID 向 instagram 提交报告,以向他们施加一些压力以解决此问题。
【讨论】:
【参考方案2】:我有同样的问题,我猜是来自 Instagram 我在开发人员 > 管理客户 > 报告问题的客户端面板中报告了一个问题。 你可以让他们尽快解决这个问题。
【讨论】:
【参考方案3】:Instagram OAuth 流程肯定存在问题。由于某种原因,返回的授权码似乎不起作用,这很可能是他们需要最终修复的网络相关问题。
我的理论是,生成的授权代码不会分发到所有 Instagram API 服务器,如果你碰巧遇到了一个坏节点,那么你就不走运了。
不过,我最近发现了一个不依赖授权码的解决方案。如果您使用客户端身份验证,那么您将能够检索访问令牌,而无需使用授权代码。它不太安全,但作为临时修复非常有用。
您只需将response_type=code
更改为response_type=token
。令牌响应类型将使用此 URL 结构将用户重定向回您的网站:
http://your-redirect-uri#access_token=ACCESS-TOKEN
我建议使用 javascript 从 URL 客户端获取访问令牌,然后将其传递到您网站上的端点。例如。 /callback?accesstoken=accessToken
。这是必需的,因为哈希中的内容不会传递给服务器。
例子:
<script>
if (window.location.hash && window.location.hash.indexOf('#access_token=') !== -1)
var accessToken = window.location.hash.replace('#access_token=', '');
window.location.href = '/callback?accesstoken=' + accessToken;
</script>
上面的代码sn-p是从https://news.ycombinator.com/item?id=13178789的解决方案中复制和稍微修改的
您可以在https://www.instagram.com/developer/authentication/Client-Side (Implicit) Authentication
下阅读更多关于 Instagram 客户端身份验证的信息
【讨论】:
我从我自己的应用程序中看到的是,几周前自发开始的问题似乎正在得到解决。我认为 Instagram 一直在解决问题,尽管他们从未回复我的支持请求。 是的,他们似乎已经把它修好了。我将支持这两种方式,所以如果第一种在使用授权码时失败,那么我将使用 response_type 令牌重试。 除了上面提到的内容丰富的 YCombinator 线程之外,还有一个来自开发人员的有趣故事,他发现了有关从 api.instagram.com 到 www.instagram.com 的新重定向以及令牌如何使用的更多信息在此过程中被“损坏”。但是,如前所述,问题似乎已经解决,无需我更改代码。但是,看到附加信息很有趣。 auth0.com/forum/t/…【参考方案4】:我也遇到了同样的问题。不知道为什么,但对我来说,从 oauth/authorize/? 返回的 code 末尾有 2 个特殊字符 - “#_”。删除这些后,我的 代码 工作了。
【讨论】:
【参考方案5】:这是由于您的 Instagram 应用存在安全限制。您可以通过在“安全”选项卡下为您的 Instagram 应用取消选中“禁用隐式 OAuth”来选择允许它。
【讨论】:
这对我不起作用。从未检查过禁用隐式 OAuth,但感谢您的建议。 这在某些情况下可能是正确的,但我认为@raRaRa 在描述最近自发发生的一连串事件时处于正确的轨道上。以上是关于Instagram API 匹配代码未找到或已被使用的主要内容,如果未能解决你的问题,请参考以下文章
使用facebook graph api获取Instagram自己/自我饲料