Instagram Basi c Ошибка отображения API OAuth: код 400, invalid_redirect_uri - PullRequest
1 голос
/ 01 марта 2020

Я хочу подключить Instagram Basi c 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/", как предлагается в этом посте . Мой URI перенаправления OAuth в настройках Facebook для инструментов разработчика в Instagram также имеет значение "http://google.com/".

Для тестирования я использую мое тестовое веб-пространство. URL-адрес похож на http://mytestwebspace.de/instagram/news_ig_test.php. Как видите, у него нет SSL. Последняя страница собирается, однако. Может ли быть проблема с отсутствием SSL?

РЕДАКТИРОВАТЬ: я забыл добавить, я пытался использовать http://mytestwebspace.de/instagram/news_ig_test.php в качестве redirectUrl раньше, но я все еще получаю ту же ошибку.

Я не уверен, что причина может быть .

1 Ответ

1 голос
/ 01 марта 2020

Я могу подтвердить, SSL требуется. При использовании https://mytestwebspace.de/etc... аутентификация работает просто отлично. (Хотя это не удивительно, я не ожидал, что решение будет таким простым, поэтому я открыл поток.) ​​

...