Для получения данных по API нужно получить ключ
Переходим в консоль google для получения API
Выбираем "Select a project"
Нажимаем NEW PROJECT
Заполняем нажимаем create
Переходим в APIs
Жмем enable APIs
в поиске вбиваем sheets жмем интер. Жмем google sheets API
Жмем enable
Слева жмем Credentials
Жмем create Credentials, выбираем API key
Будет создан Api. жмем его
выбираем restrict key, выпадающем списке ищем sheets. Жмем save
API key готов
Для примера я создал таблицу
В ссылке на таблицу наc интересует id таблицы
Теперь делаем Get-запрос к сервису google
Функция ПолучитьДанныеИзГуглТаблицы(ИдТаблицы,НазваниеЛиста,КлючАПИ)
АдресРесурса = "sheets.googleapis.com";
АдресНужнойСтраницы = "/v4/spreadsheets/"+ИдТаблицы+"/values/"+НазваниеЛиста+"?key="+КлючАПИ;
Соединение = Новый HTTPСоединение(АдресРесурса,,,,,,Новый ЗащищенноеСоединениеOpenSSL());
Запрос = Новый HTTPЗапрос(АдресНужнойСтраницы);
Ответ = Соединение.Получить(Запрос);
Если Ответ.КодСостояния = 200 Тогда
ВходящаяСтрока = Ответ.ПолучитьТелоКакСтроку();
Возврат ВходящаяСтрока;
Иначе
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "не получен. Статус-код " + Ответ.КодСостояния;
Сообщение.Сообщить();
Возврат "";
КонецЕсли;
КонецФункции
СтрокаJSON = ПолучитьДанныеИзГуглТаблицы("12345678912334567","Лист1","AIz1111111111111111111111Q");
Получаем строку json
{
"range": "'Лист1'!A1:Z1000",
"majorDimension": "ROWS",
"values": [
[
"Товар",
"Кол-во",
"цена",
"Годность"
],
[
"груши",
"12",
"14,55",
"18.12.2023"
],
[
"яблоки",
"123",
"15,74",
"21.12.2023"
],
[
"сливы",
"41",
"17,32",
"25.12.2023"
]
]
}
Преобразуем строку JSON в Таблицу значений
СтрокаJSON = ПолучитьДанныеИзГуглТаблицы("12345678912334567","Лист1","AIz1111111111111111111111Q");
Если ЗначениеЗаполнено(СтрокаJSON) Тогда
МассивСтрок = ИзJSON(СтрокаJSON).values;
ТЗ = ПолучитьТЗ(МассивСтрок);
КонецЕсли;
Функция ИзJSON(СтрокаJSON) Экспорт
ТекТоварыJSON = Новый ЧтениеJSON ;
ТекТоварыJSON.УстановитьСтроку(СтрокаJSON);
Возврат ПрочитатьJSON(ТекТоварыJSON);
КонецФункции
Функция ПолучитьТЗ(МассивСтрок)
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Товар", Новый ОписаниеТипов("Строка", ,Новый КвалификаторыСтроки(50)));
ТЗ.Колонки.Добавить("Количетсво", Новый ОписаниеТипов("Число", ,Новый КвалификаторыЧисла(10, 0, ДопустимыйЗнак.Неотрицательный)));
ТЗ.Колонки.Добавить("Цена", Новый ОписаниеТипов("Число", ,Новый КвалификаторыЧисла(10, 2, ДопустимыйЗнак.Неотрицательный)));
ТЗ.Колонки.Добавить("Годность", Новый ОписаниеТипов("Дата"));
Первая = Истина;
Для Каждого Стр из МассивСтрок Цикл
Если Первая Или Стр[0]="" Тогда
Первая = Ложь;
Продолжить;
КонецЕсли;
НовСтр = ТЗ.Добавить();
НовСтр.Товар = Стр[0];
НовСтр.Количетсво = Стр[1];
НовСтр.Цена = Стр[2];
НовСтр.Годность = Стр[3]+" 00:00:00";
КонецЦикла;
Возврат ТЗ;
КонецФункции
В результате получаем Таблицу значений
Тестировал:
- 1С:Комплексная автоматизация 2 (2.4.13.209)
- Платформа 1С:Предприятие 8.3 (8.3.19.1467)