Я создаю довольно простое веб-приложение. У меня проблемы с обработкой возврата кода после входа пользователя в Instagram. Я также использую другой API, чтобы помочь мне, вы можете найти его здесь: https://github.com/cosenary/Instagram-PHP-API.
Моя домашняя страница регистрирует пользователя, вы можете увидеть код php ниже
<?php
require 'Instagram.php';
use MetzWeb\Instagram\Instagram;
// initialize class
$instagram = new Instagram(array(
'apiKey' => 'YOUR_APP_KEY',
'apiSecret' => 'YOUR_APP_SECRET',
'apiCallback' => 'YOUR_APP_CALLBACK' // must point to success.php
));
// create login URL
$loginUrl = $instagram->getLoginUrl();
?>
Пользователи успешно отправляются на страницу входа в Instagram, но когда они авторизуют мое приложение, а Instagram отвечает http://your-redirect-uri?code=CODE
Следующая страница не отображается.
Вы можете увидеть код страницы «успеха», которая должна отображаться ниже.
/**
* Instagram PHP API
*
* @link https://github.com/cosenary/Instagram-PHP-API
* @author Christian Metz
* @since 01.10.2013
*/
require_once 'Instagram.php';
use MetzWeb\Instagram\Instagram;
// initialize class
$instagram = new Instagram(array(
'apiKey' => 'YOUR_APP_KEY',
'apiSecret' => 'YOUR_APP_SECRET',
'apiCallback' => 'YOUR_APP_CALLBACK' // must point to success.php
));
// receive OAuth code parameter
$code = $_GET['code'];
// check whether the user has granted access
if (isset($code)) {
// receive OAuth token object
$data = $instagram->getOAuthToken($code);
$username = $username = $data->user->username;
// store user access token
$instagram->setAccessToken($data);
// now you have access to all authenticated user methods
$result = $instagram->getUserMedia();
} else {
// check whether an error occurred
if (isset($_GET['error'])) {
echo 'An error occurred: ' . $_GET['error_description'];
}
}
?>
Если пользователи отменяют запрос на авторизацию, страница «успеха» правильно отображается и отображает правильное сообщение об ошибке. Поэтому я считаю, что моя проблема заключается в обработке параметра кода, который Instagram возвращает в мое веб-приложение. Спасибо за помощь.
Проверь это YOUR_APP_CALLBACK
URL-адрес перенаправления правильный — он должен быть таким же, как и в вашем приложении Instagram. Проверьте их рекомендации для приемлемых URL перенаправления здесь: http://instagram.com/developer/authentication/
Пока $_GET['code'];
тогда плагин должен позаботиться обо всем остальном, поэтому я бы проверил, что это тоже устанавливается.
Если вы еще этого не сделали, посмотрите на пример плагина. Вот.
Это должно начать вас.
Других решений пока нет …