Всем привет!
Делаю обмен с Битрикс 24. Делаю как написано тут -
http://catalog.mista.ru/public/574117/. Остановился вот в этом месте
// если нас переадрессовали
Если Ответ.КодСостояния = 302 Тогда
//в Location взять code
Параметры = ПолучитьПараметрыИзGetСтроки(Ответ.Заголовки.Получить("Location"));
Cookie = Ответ.Заголовки.Получить("Set-Cookie");
Код = Неопределено;
Если Параметры.Свойство("code", Код) Тогда
// используя Код получаем access_token и refresh_token
Соединение = Новый HTTPСоединение(
"oauth.bitrix.info",
, // порт
, // пользователь
, // пароль
, // прокси
5, // таймаут в секундах
ssl // защищенное HTTPS соединение
);
Запрос.АдресРесурса = "oauth/token" + ПараметрыАвторизацииВСтроке(Код);
Запрос.Заголовки.Вставить("Cookie", Cookie);
Ответ = Соединение.Получить(Запрос);
Если Ответ.КодСостояния <> 200 Тогда
ВызватьИсключение "Ошибка при получении access_token";
Иначе
// разобрать полученный json
json = Ответ.ПолучитьТелоКакСтроку();
Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку(json);
ОтветСтруктура = ПрочитатьJSON(Чтение);
// сохраняю параметры подключения
AccessToken = ОтветСтруктура.access_token;
RefreshToken = ОтветСтруктура.refresh_token;
RefreshTime = ТекущаяДата() + ОтветСтруктура.expires_in;
КонецЕсли;
Иначе
ВызватьИсключение "Ошибка при подключении, нет параметра code";
КонецЕсли;
КонецЕсли;
Битрикс меня переадресовывает на свой сервис OAuth, все хорошо, строкой
Запрос.АдресРесурса = "oauth/token" + ПараметрыАвторизацииВСтроке(Код);
шлю ему запрос вот такого вида oauth/token/?grant_type=authorization_code&client_id=МойКлиентИД&client_secret=МойКлиентСекрет&code=МойКод.
Тоже все верно, как написано тут .
Но в ответ на этот запрос, после разбора json, всегда получаю ответом от Битрикса ошибку - "wrong_rlient". Что делаю не так? Все по инструкциям вроде.