我想将Instagram Basic Display API与网站连接,以显示一个用户的帖子。但是,当尝试验证用户身份(出于测试目的,我本人)时,出现此错误:
{"error_type": "OAuthException", "code": 400, "error_message": "Invalid redirect_uri"}
这是我用于请求的PHP代码:
require_once 'ig_defines.php';
Class instagram_basic_display_api {
private $_appId = INSTAGRAM_APP_ID;
private $_appSecret = INSTAGRAM_APP_SECRET;
private $_redirectUrl = INSTAGRAM_APP_REDIRECT_URI;
private $_getCode = '';
private $_apiBaseUrl = 'https://api.instagram.com/';
public $authorizationUrl = '';
// called on class init
function __construct( $params ) {
// save instagram code
$this->_getCode = $params['get_code'];
// get an access token (code will follow)
// get authorization url
$this->_setAuthorizationUrl();
}
private function _setAuthorizationUrl() {
$getVars = array(
'app_id' => $this->_appId,
'redirect_uri' => $this->_redirectUrl,
'scope' => 'user_profile,user_media',
'response_type' => 'code'
);
// create url
$this->authorizationUrl = $this->_apiBaseUrl . 'oauth/authorize?' . http_build_query( $getVars );
}
}
private $_redirectUrl = INSTAGRAM_APP_REDIRECT_URI;
是"http://google.com/"
,如建议的in this post。在Facebook开发人员工具Instagram API设置中,我的OAuth重定向URI也是"http://google.com/"
。
为了进行测试,我正在使用测试网站空间。 URL类似于http://mytestwebspace.de/instagram/news_ig_test.php
。如您所见,它没有SSL。不过,最后一页将转到。缺乏SSL会成为问题吗?
编辑:我忘了添加,我之前曾尝试使用http://mytestwebspace.de/instagram/news_ig_test.php
作为redirectUrl,但仍然遇到相同的错误。
我不确定是什么原因。
我可以确认,需要SSL。使用https://mytestwebspace.de/etc...
时,身份验证工作正常。 (尽管这并不奇怪,但我并不十分希望解决方案这么简单,因此我为什么要打开一个线程。)