Читаем явный учебный JSON и переносим access_token в черновик профиля. TRAINING_NOT_VALID намеренно недействителен: сетевой вход не выполняется.
Где и как запускать
Учебная база: создайте серверный общий модуль УчебныеЗадачи (флаг Сервер). Код без директив вставьте в тело процедуры ВыполнитьПример() Экспорт. Вызовите её из серверного обработчика команды учебной обработки. Не запускайте в рабочей базе.
Подготовка
В учебной обработке или общем модуле запустите каждый фрагмент отдельно на сервере. Профиль создаётся в памяти; объект ИнтернетПочта и Подключиться в этих упражнениях не используются.
example.invalid и TRAINING_NOT_VALID — намеренно нерабочие адреса/значения. Они позволяют разобрать свойства без отправки писем, подключения к чужим серверам и использования настоящих секретов.
Для последующего реального соединения параметры берутся у администратора именно вашего тестового почтового сервиса. Значения этих уроков не являются настройками Gmail, Яндекс или корпоративной почты.
Профиль = Новый ИнтернетПочтовыйПрофиль;
Чтение = Новый ЧтениеJSON;
Чтение.УстановитьСтроку("{""access_token"":""TRAINING_NOT_VALID"",""token_type"":""Bearer""}");
Попытка
Ответ = ПрочитатьJSON(Чтение);
Исключение
Чтение.Закрыть();
ВызватьИсключение;
КонецПопытки;
Чтение.Закрыть();
Если Не Ответ.Свойство("access_token", УчебныйТокен)
Или Не Ответ.Свойство("token_type", ТипТокена) Тогда
ВызватьИсключение "В собственном учебном JSON нет полей токена";
КонецЕсли;
Если ТипЗнч(УчебныйТокен) <> Тип("Строка") Или ТипТокена <> "Bearer" Тогда
ВызватьИсключение "Неверный формат собственного учебного ответа";
КонецЕсли;
Профиль.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.Использовать;
Профиль.ТокенДоступа = УчебныйТокен;
Сообщить(Профиль.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.Использовать);
Сообщить(СтрДлина(Профиль.ТокенДоступа) > 0);
Профиль.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.НеИспользовать;
Профиль.ТокенДоступа = "";
УчебныйТокен = "";
Сообщить(Профиль.АутентификацияПоТокену = ИспользованиеАутентификацииИнтернетПочтыПоТокену.НеИспользовать);
Сообщить(Профиль.ТокенДоступа = "");Разбор по шагам
JSON целиком написан в уроке и не является ответом действительного сервиса авторизации.
ЧтениеJSON закрывается на успешном и ошибочном пути; проверяем наличие и тип нужных полей.
ТокенДоступа ожидает сам access_token, не весь JSON и не строку с добавленным префиксом Bearer.
По описанию ТокенДоступа использование возможно для IMAP/SMTP при режиме Использовать или Авто. Этот пример не выполняет ни один сетевой протокол.
В конце отключаем токенный режим и очищаем учебную строку. Реальные выдача, срок действия и обновление OAuth-токена — отдельный процесс у вашего провайдера.
Как проверить результат
Четыре сравнения Истина; содержимое токена в сообщения не выводится.
В профиле в конце пустой токен и режим НеИспользовать.
Ожидаемый результат
Понятен контракт свойства токена без передачи настоящего секрета и имитации успешного входа.
На что обратить внимание
TRAINING_NOT_VALID нельзя использовать для подключения; это честно обозначенная учебная фикстура.
Непустая строка не означает действительный токен или права на чтение/отправку писем.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.