Oauth 2.0 Instagram oauth api提供了{quot;代码";400,“错误类型”:“OAuthException”和“错误消息”:“未找到匹配的代码”。}

Oauth 2.0 Instagram oauth api提供了{quot;代码";400,“错误类型”:“OAuthException”和“错误消息”:“未找到匹配的代码”。},oauth-2.0,instagram,Oauth 2.0,Instagram,我正在开发一个与Instagram API集成以访问用户信息的应用程序。我使用授权url成功获取访问令牌,但无法使用访问令牌url获取用户ID: 我尝试了两个端点: https://api.instagram.com/oauth/access_token?client_id=48275564e2c445f6b8e1356djfha3e0c&client_secret=ab2062da9f314e3489dke7ae9cbe6e5d&redirect_uri=http://loca

我正在开发一个与Instagram API集成以访问用户信息的应用程序。我使用授权url成功获取访问令牌,但无法使用访问令牌url获取用户ID:

我尝试了两个端点:

https://api.instagram.com/oauth/access_token?client_id=48275564e2c445f6b8e1356djfha3e0c&client_secret=ab2062da9f314e3489dke7ae9cbe6e5d&redirect_uri=http://localhost&grant_type=authorization_code

该职位的主体为:

client_id=48275564e2c445f6b8e1356djfha3e0c&client_secret=ab2062da9f314e3489dke7ae9cbe6e5d&redirect_uri=http://localhost&grant_type=authorization_code&code=1351860224.4827556.5dc92c4d15ea4a4ea1b0d33eaf0eef19
(请求中的数据已修改),但我得到了以下信息

{
    "code": 400,
    "error_type": "OAuthException",
    "error_message": "No matching code found."
}
我看到了大量的疑问和问题,但找不到任何解决问题的方法

我有两个问题:

1) is the field code in the URL is same as access_token, if not how could i get the code field's value.

2) is there any other mechanism(API) to fetch the user details given the username is not known.

请帮助我,因为我完全被卡住了,快到截止日期了。

尝试将重定向uri参数URL编码到

http%3A%2F%2Flocalhost
并且您的代码参数包含“.”字符,这可能是一个错误

code=1351860224.4827556.5dc92c4d15ea4a4ea1b0d33eaf0eef19
可能导致了这个问题

"error_message": "No matching code found."

“5dc92c4d15ea4a4ea1b0d33eaf0eef19”似乎是正确的代码

我收到了相同的错误。instagram的垃圾邮件系统似乎禁止用户访问任何非官方应用程序。只需更改用户的密码。对我来说,这是一种帮助。 同时尝试创建另一个应用程序

UPD

从一个问题到另一个问题

看起来用户可以获得多个
代码
,您可以看到
第一个代码
,但需要
第二个代码。如果出现错误,请尝试重新登录用户。用户不会看到带有确认按钮的instagram页面,只会看到重定向

可能的错误算法:

1. User click auth link.
2. Get first code.
3. User click auth link (twice, redirection problem, public auth system, etc.)
4. Get another code (even on the same client_id, redirect_uri).
5. You get first code.
6. But first code already doesn't exists.

对于我来说,在instagram developer->manage clients中取消选中禁用隐式OAuth修复了问题

问题在于需要将重定向url设置为

登录instagram部分非常重要
因此,请访问Instagram.com/developer->Manage Client->Security->Valid redirect URIs set with the end http:///../登录Instagram关闭后期Instagram python代码段由于缺少内容类型http标头而失败

response, content = http_object.request(url, method="POST", body=data,headers = {"Content-type": "application/x-www-form-urlencoded"})

添加application/x-www-form-urlencoded对我来说很有效

我发现使用
formdata
application/x-www-form-urlencoded
都可以。最重要的是,从重定向uri获得的
code
仅由一个请求使用。这意味着您可以为
code
请求一次访问令牌。如果您使用相同的
代码多次请求,您将得到如下错误:

{
    code: 400,
    error_type: "OAuthException",
    error_message: "Matching code was not found or was already used."
}

祝你一切顺利;)

我会提到对我有用的东西

步骤1。从您的面板生成新的客户端密码

步骤2。按照上述步骤1再次获取代码

步骤3。使用更改的参数再次发送请求


发送请求时,请确保已登录浏览器。您将得到所需的回复。

为什么要投反对票。请提供任何答案或参考1e70363a5a50d9解决问题,而不是通过投反对票逃跑。您的请求看起来是正确的,尽管我还没有使用Instagram API。然而,我在谷歌上搜索了你的问题,并注意到,你不是唯一一个有这个问题的人。()我会试着喝点茶,然后等待,也许他们需要一些背景工作来为某个应用程序设置东西,或者尝试创建另一个应用程序。这对于Instagram的支持团队来说似乎是个好问题。所以,当第三方API出现故障时,这并不是获得支持的好地方。@Amritpalling您已经解决了问题吗?请找到我对类似问题的答案。嗨,Charlie,我尝试了两种选择,但都没有成功,仍然得到相同的错误。我不知道为什么这被否决,它也为我修复了它。@甚至可能是因为使用此选项比选中此选项更不安全,因为Instagram只允许使用服务器端(显式)OAuth流而不是客户端的授权请求。阅读更多。我不想投反对票,心想。对我来说,我的授权类型值“授权码”上有一个额外的空间。删除它为我修正了它,ops!请检查您的变量这不是真的-更改密码没有帮助,创建2-3个其他应用也没有帮助。看起来Instagram会自动过滤掉(不知什么原因)用户帐户+IP服务器的组合。看见