@Mikhail на запросах расширения точно не ставятся. Возможно сайт через апи браузера проверяет наличие расширения и потом использует его для каких то целей. Нужно изучать сайт
Чтение гугл таблицы
-
Пишу вот такой nodejs код в bas:
const { google } = require("googleapis"); const auth = new google.auth.GoogleAuth({ keyFile: [[GOOGLE_DATA]].split("\\").join("/"), scopes : ["https://www.googleapis.com/auth/spreadsheets"] }); async function readSheet() { const sheets = google.sheets({ version: "v4", auth }); const spreadsheetId = "1ZI_7dZ6GmpZ6tVNi0hAtjWyMinExzD8PaGmFlvSGwo1"; const range = "Лист1!A2:C100000000"; try { const res = await sheets.spreadsheets.values.get({ spreadsheetId, range }); const rows = res.data.values; let randomIdx = Math.floor(Math.random() * rows.length); if (randomIdx === -1) randomIdx = 0; const [fio, phone, mail] = rows[randomIdx]; return phone; } catch(error) { console.error(`Error: ${error}`); } } (async() => { const data = await readSheet(); [[RANDOM_PHONE]] = data; })();но переменная [[RANDOM_PHONE]] в себе хранит значение по умолчанию ("")
также когда пытаюсь вывести в console.log phone то также ничего не получаю
я так понимаю ошибка из за асинхронности, только не знаю что именно обновитьзапускаю этот код вне bas и все отрабатывает
-
@quod, уберите обёртку в анонимную функцию в конце, чтобы было просто так:
const data = await readSheet(); [[RANDOM_PHONE]] = data;Node.js код в BAS уже выполняется в асинхронной среде, поэтому вы можете спокойно использовать
await