Instagram身份验证问题

时间:2014-08-23 08:38:42

标签: instagram

在我的应用程序中,我有3种不同的方式来使用Instagram Auth,需要根据操作重定向到3个不同的地方。因此,我有3个不同的身份验证网址

我的注册重定向网址为http://nameoftheapp.com/folder/

验证网址1

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

验证网址2

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

验证网址3

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

现在,所有这些网址都会将我返回到正确的网址,并附上代码,随时可以转换为访问令牌。

如果没有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文档中查看此页面,它表示它允许您使用参数http://instagram.com/developer/authentication/

2 个答案:

答案 0 :(得分:3)

我在使用PHP获取访问令牌时遇到了同样的问题,我使用相同的redirect_uri URL发出了这个问题,例如:

如果在Instagram登录后使用的身份验证网址为http://nameoftheapp.com/folder/?l=l,则会将您发送至redirect_uri http://nameoftheapp.com/folder/?l=l&code=<CODE>。因此,在此文件中,要从Instagram获取信息或访问令牌的CURL参数,请使用具有相同GET变量的相同URL http://nameoftheapp.com/folder/?l=l

我知道这是一篇旧帖子,但这可能会对像我这样的帖子有所帮助,在这篇文章中以搜索答案结尾。

答案 1 :(得分:0)

文档显示

已注册的重定向URI http://yourcallback.com/callback

你有

  

我的注册重定向网址为http://nameoftheapp.com/folder/

尝试删除结束斜杠...?