Показать сообщение отдельно
  #2 (permalink)  
Старый 06.05.2020, 01:47
Аватар для Malleys
Профессор
Отправить личное сообщение для Malleys Посмотреть профиль Найти все сообщения от Malleys
 
Регистрация: 20.12.2009
Сообщений: 1,714

Даже если имя функции будет содержать точку, присланный код не запустится, поскольку в глобальном объекте google должен быть visualization в котором Query в котором метод setResponse.
<pre id="pre">Loading...</pre>
<script>
(async function main() {
	try {
		const response = await fetch("https://docs.google.com/spreadsheets/d/1iwGvYQZYe1oQU1809QG1qqJWUG84gxVLKyqWBWyvDqU/gviz/tq?sheet=goods&tq=where%20B%3D'A04'%20%20OR%20%20B%3D'A03'");
		const text = await response.text();

		const getData = new Function(`return new Promise(setResponse => {
			const google = { visualization: { Query: { setResponse } } };
			${text}
		})`);
		const data = await getData();

		/* вывод в консоль и на страницу */
		console.log(data);
		pre.textContent = JSON.stringify(data, null, "    ");
	} catch(error) {
		pre.textContent = error.message;
		console.error(error);
	}
})();
</script>
Ответить с цитированием