Instagram API匹配代码未找到或已被使用

时间:2016-12-18 15:59:23

标签: instagram-api

我使用Instagram API从我的实时服务器看到此错误。

{
   "Error":true,
   "message":"Matching code was not found or was already used."
}

我已经阅读了一些关于清除缓存的建议,但这并不能解决问题。我也无法直接在Instagram网站上提交支持票,因为我在尝试提交票证时收到错误消息。

5 个答案:

答案 0 :(得分:6)

有许多开发者在https://news.ycombinator.com/item?id=13178789抱怨同样的问题。我不认为取消选中"禁用隐含的OAuth"解决了这个问题,因为我已经尝试过这个问题并且它没有用。

您可以做的最好的事情是使用您的客户ID向Instagram提交报告,以便为解决此问题而施加压力。

答案 1 :(得分:2)

我有同样的问题,我想这是来自Instagram我在开发人员的客户面板中报告了一个问题>管理客户>报告问题。 您可以尽快解决此问题。

答案 2 :(得分:1)

Instagram OAuth流程肯定存在问题。返回的授权码似乎不会因某种原因而起作用,很可能是他们需要修复的网络相关问题。

我的理论是,生成的授权代码不会分发给所有Instagram API服务器,如果您碰巧遇到了一个糟糕的节点,那么您将失去运气。

但是,我最近发现了一个不依赖于授权代码的解决方案。如果您使用客户端身份验证,那么您将能够在不使用授权代码的情况下检索访问令牌。它的安全性较低,但作为临时修复工作效果很好。

您只需将 Item outDict; switch(name) { case "simpleDict": var simpleDict = _dataLayer.GetSimpleDict(); // ... outDict = simpleDict; break; case "extDict": var extDict = _dataLayer.GetExtDict(); // ... outDict = extDict; break; // ... and a few more dictionaries } 更改为response_type=code即可。令牌响应类型将使用此URL结构将用户重定向回您的网站:

response_type=token

我建议使用JavaScript从URL客户端获取访问令牌,然后将其传递到您网站上的端点。例如。 http://your-redirect-uri#access_token=ACCESS-TOKEN 。这是必需的,因为散列中的内容不会传递给服务器。

示例:

/callback?accesstoken={accessToken}

上面的代码段会从https://news.ycombinator.com/item?id=13178789

的解决方案中复制并稍加修改

您可以在<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>

下的https://www.instagram.com/developer/authentication/上详细了解有关Instagram客户端身份验证的信息

答案 3 :(得分:0)

我只是遇到了同样的问题。不知道为什么,但是对我来说,从 oauth / authorize /?返回的 code 在结尾处有2个特殊字符-“ #_”。删除这些代码后,我的 code 起作用了。

答案 4 :(得分:-1)

这是由于您的Instagram应用程序上存在安全限制。您可以选择取消选中&#34; 禁用隐式OAuth &#34;对于您的Instagram应用程序,在“安全”选项卡下。