Instagram身份验证问题

Instagram身份验证问题,instagram,Instagram,在我的应用程序中,我有3种不同的方式使用Instagram Auth,需要根据操作重定向到3个不同的位置。因此,我有3个不同的认证URL 我注册的重定向URL是 验证URL 1为 https://api.instagram.com/oauth/authorize/?client_id=' + ig_id + '&response_type=code&redirect_uri=' + encodeURI('http://nameoftheapp.com/fo

在我的应用程序中,我有3种不同的方式使用Instagram Auth,需要根据操作重定向到3个不同的位置。因此,我有3个不同的认证URL

我注册的重定向URL是

验证URL 1为

https://api.instagram.com/oauth/authorize/?client_id='
    + ig_id
    + '&response_type=code&redirect_uri='
    + encodeURI('http://nameoftheapp.com/folder/?l=r'); 
验证URL 2为

https://api.instagram.com/oauth/authorize/?client_id='
    + ig_id
    +'&response_type=code&redirect_uri='
    + encodeURI('http://nameoftheapp.com/folder/?l=g');
验证URL 3为

https://api.instagram.com/oauth/authorize/?client_id='
    + ig_id
    +'&response_type=code&redirect_uri='
    + encodeURI('http://nameoftheapp.com/folder/?l=l');
现在,所有这些URL都会将我返回到正确的URL,并附加代码,以准备转换为访问令牌

没有EncodeURI中的参数,这允许我访问所需的数据。如果我保留这些参数,我会得到下面的HTTP400错误

[23-Aug-2014 10:26:40 Europe/Berlin] Array
(
    [code] => 400
    [error_type] => OAuthException
    [error_message] => Redirect URI doesn't match original redirect URI
)

如果您查看Instagrams文档中的此页,它会说它允许您使用文档中显示的参数

注册重定向URI

你有

我注册的重定向URL是


尝试删除结尾斜杠…?

我在通过PHP获取访问令牌时遇到了相同的问题,我使用相同的重定向uri URL发出了问题,例如:

如果使用的身份验证URL为
http://nameoftheapp.com/folder/?l=l
登录Instagram后,会将您发送到重定向\u uri
http://nameoftheapp.com/folder/?l=l&code=。因此,在这个文件中,要从Instagram获取信息或访问令牌,请使用相同的URL
http://nameoftheapp.com/folder/?l=l
使用相同的GET vars


我知道这是一篇老文章,但对于像我这样在这篇文章中搜索答案的人来说,这可能会有所帮助。

这不是参数,我认为是
encodeURI()
错误,也许你只需要对参数值进行编码,而不是完整的URI