Внимание! В обработке использовано 3 функции из БСП: ОбщегоНазначенияКлиентСервер.СообщитьПользователю() СтроковыеФункцииКлиентСервер.ВставитьПараметрыВСтроку() СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку()
Обновление
18.05.18. Версия обработки 1.0.2.
Добавлена функция "Удалить строки". Демонстрация возможность удаления строк из таблицы Google указав определенный диапазон индексов строк для удаления.
Функции
-
Авторизация в google используя протокол OAuth 2.0
-
Запрос для получения authorization code ("Код доступа").
-
Запрос для получения access_token и refresh token.
-
Запрос для получения access_token используя refresh token.
-
-
Взаимодействие из 1С с Google Sheets.
-
Получение списка листов таблицы гугл
-
Чтение данных из таблицы гугл и заполнение табличного документа 1С.
-
Запись данных из табличного документа 1С в таблицу гугл.
-
-
Дополнительно
-
Сохранение параметров подключения и списка листов таблицы в данных формы.
-
Условное представление элементов в зависимости от срока действия токена.
-
Формирование ссылки для перехода к выбранному листу таблицы при выборе названия листа из списка.
-
Используемые источники
-
В качестве основы были использованы обработки для обычных форм разработанные пользователем: echo77.
-
Некоторая информация была получена из статей на infostart.ru.:
-
Информация с сайта гугл:
Инструкция
Авторизация в google
Получить client ID and client secret
Необходимо используя Google API Console в рамках созданного проекта получить client ID and client secret
Запросить "Код доступа"
Для доступа к данным гугл необходимо при каждом запросе передавать access_token. При этом чтобы получить access_token, необходимо сначало получить authorization code "Код доступа".
В обработке на закладке “Параметры подключения”, при нажатии на “Запросить” - открывается окно браузера и выполняется переход на страницу авторизации гугл. При этом обязательно должны быть указаны “Client id” и “Client secret”, полученные на предыдущем шаге.
Код доступа можно использовать только один раз для получения access_token. Если access_token утерян, необходимо получить новый “Код доступа” который использовать для получения нового access_token (или использовать refresh token для получения нового access token)
Получить access_token
Любой запрос для доступа к данным требует указания access token-а в параметрах запроса. Для первичного получения “access token”, необходимы: “Client id”, “Client secret” и “Код доступа”.
“Aсcess token” имеет непродолжительное время жизни (3600 сек.).После окончания действия, необходимо:
- либо использовать refresh token и обновить access token
- либо опять повторить процесс: получить код доступа, используя новый код доступа - получить новый access token.
При нажатии "Получить" будет выполнен запрос для получения Аccess token и Refresh token, и будет рассчитан “Срок действия токена”
Запрос возвращает .json содержащий требуемую информацию, и токены заполняются в соответствующие поля на форме обработки:
После получения “Access token”, пока он действует можно обращаться к данным в гугл.
Обновить access_token используя refresh_token
После того как истек срок действия “access token” или раньше, можно использовать “refresh token”, чтобы получить новый access token, без использования браузера и получения кода доступа.
Существуют определенные ограничения на использование “refresh token” (подробности по ссылке)
Работа с таблицей гугл (Google Sheet)
Подключение к таблице и получение списка листов таблицы
Необходимо указать ссылку на таблицу гугл в строке “Ссылка на таблицу google”.
При указании ссылки, программа получит “ID таблицы”, выполнит подключение к таблице, прочитает список листов таблицы и заполнит список выбора для поля “Лист”.
При выборе листа из списка - формируется новый URL для доступ к таблице. По кнопке “открыть” выполняется переход в браузере к выбранному листу таблицы.
Чтение данных из таблицы гугл в табличный документ 1С
По кнопке “Прочитать таблицу” выполняется запрос, результат запроса обрабатывается и заполняется табличный документ
Запись данных табличного документа 1С в таблицу гугл
По кнопке “Записать таблицу” выполняется запрос в котором передается информация для записи в таблицу гугл.
18.05.18. Удаление строк из таблицы Google
Для удаления строк необходимо указать диапазон индексов С - ПО. Нумерация с 0-ля. Например для удаления 2-ой строки в таблице необходимо задать диапазон С = 1 ПО = 2.