Битрикс вас потом редиректит на url, указанный в настройках приложения. Вот в скрипте по этому адресу и сохраняйте токен - он будет в массиве $_GET.
p.s. Шикарно зашифровали домен, btw.
Panchon Kamredo: это вы на сервер Битрикса посылаете эти значения, потом он вас редиректит на ваш сервер уже с другими параметрами. Вот те параметры вам и нужно ловить.
Алексей Уколов: я и в самом деле запутался.
Запрос инициирую я из файла index.php функцией get_file_contents($url)
В ответ меня сервер битрикса пересылает на тот $redirect_uri который я указал.
Там же в файле на $redirect_uri у меня хранятся GET переменные.
Как мне их теперь получить в index.php??
Алексей Уколов: но file_get_contents($url) не возвращает мне json массив.
При выводе содержимого
$homepage = file_get_contents($url);
echo $homepage;
мне браузер возвращает страничку авторизации битрикс.
Упс ссори не туда посылал запрос.
поправил.
Теперь выдается
Catchable fatal error: Object of class stdClass could not be converted to string in /home/u345445084/public_html/index.php on line 27
Panchon Kamredo:
>Catchable fatal error: Object of class stdClass could not be converted to string in /home/u345445084/public_html/index.php on line 27
Вы забыли второй параметр передать в json_decode. Ну и дальше что-то не то делаете с полученными данными.
где:
my.bitrix24.ru
client_id – идентификатор приложения
response_type – тип возвращаемого ответа (нам нужен code)
redirect_uri – URL кодированный адрес вашего скрипта, который должен принять ответ сервера и обработать его. Обязательно должен совпадать с указанным адресом при регистрации приложения!
В ответ сервер обратится к REDIRECT_URI: test.com/bitrix/oauth/oauth_test.php?code=xxxxxxxx...
где:
code – возвращенный сервером request token (время жизни по умолчанию 30 секунд)
$requestCode = $_REQUEST[‘code’];
Panchon Kamredo: я же писал, в скрипте редиректа сделайте echo json_encode(['code' => $_REQUEST[‘code’]]), а в скрипте вызывающем запрос $data = json_decode(file_get_contents('...'), true). В $data['code'] будет ваш код.
Алексей Уколов: сделал я так, толку нет, чувствуется мне ошибка в скрипте который обращается к серверу.
Потому что если руками в браузере ссылку введу то параметры отображаются.
посмотрите пожалуйста, правильно ли я get запрос посылаю.
//Запрашиваем код авторизации приложения
$autcode = file_get_contents('http://*****.bitrix24.ru/oauth/authorize/?client_i...');
$token = json_decode($autcode, true);
echo $token['code'];
Panchon Kamredo: Короткий ответ: да.
Но я надеюсь что вы понимаете что это всего-лишь пример. Вообще слишком мало данных о задаче, приходится угадывать что вы хотите сделать и с чем именно проблема.