![](/img/trans.png)
[英]Instagram Basic Display API OAuth error: code 400, invalid_redirect_uri
[英]how to set redirect_uri in instagram basic display on a insecure protocol
我正在尝试按照文档获取 instagram 用户个人资料信息和使用 laravel 的提要。 我无法在 http://localhost:8000/callback_address 上设置 redirect_uri 参数。 如果我这样做,我会收到以下消息:
{
"error_type": "OAuthException",
"code": 400,
"error_message": "Invalid redirect_uri"
}
我试图将它添加到 facebook 开发者控制台中有效的 OAuth 重定向 URI,但我收到一条错误消息,指出我应该使用 HTTPS。 我也尝试使用社交名流,但我遇到了同样的错误。 奇怪的是,Facebook OAuth 接受 http 重定向 uri 地址(默认情况下,无需在开发者控制台中编写),但不接受 Instagram Basic Display。
这是产生上述错误的重定向语句:
return redirect('https://api.instagram.com/oauth/authorize?client_id={my-client-id}&redirect_uri=https://localhost:8000/login/instagrambasic/callback&scope=user_profile,user_media&response_type=code')
我应该在开发中使用 HTTP 协议,知道吗? 我已经坚持了一天,我的眼睛在流血。
您可能只需要urlencode()
重定向 URI。 尝试这样的事情:
$query_data = array(
'client_id' => '{my-client-id}',
'redirect_uri' => 'https://localhost:8000/login/instagrambasic/callback',
'scope' => 'user_profile,user_media',
'response_type' => 'code'
);
$url = sprintf('https://api.instagram.com/oauth/authorize?%s', http_build_query($query_data);
return redirect($uri);
如果您正在使用 Socialite,这将为您完成,但请确保您使用socialiteproviders/instagram-basic包而不是旧的socialiteproviders/instagram包,因为这是不再支持的 API v1。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.