#node.js #google-api #google-sheets-api #google-api-nodejs-client
#node.js #google-api #google-sheets-api #google-api-nodejs-client
Вопрос:
Я использовал google-apis SDK для своей разработки. Я могу получать значения из листа с помощью sheets.spreadsheets.values.get
метода. Но он возвращает целые значения из этого листа. Мне нужно отфильтровать что-то вроде запроса.
Вот что я на самом деле пытаюсь,
Предположим, что приведенные выше данные представлены в виде электронной таблицы, здесь sheets.spreadsheets.values.get
это возвращает целые значения из этого листа. Но я стараюсь делать выборку первого ряда с помощью Email=surya@aaa.com
Комментарии:
1. пожалуйста, отредактируйте свой вопрос, включите свой код и покажите нам, что вы пробовали
Ответ №1:
Метод spreadsheets.values.get позволяет (и требует) указать диапазон
Примерное значение для range
— для получения строки 5 листа 1 будет Sheet1!A5:Z5
Обновить
Если вы не знаете, какую строку хотите получить, но хотите включить запрос запроса, например, в пользовательском интерфейсе Google Sheets:
Это невозможно с помощью Google Sheets API.
Но есть обходной путь:
Используйте запрос API визуализации Google.
Рабочий процесс:
- Опубликуйте свою электронную таблицу как «Любой, у кого есть ссылка, может просмотреть»
- Создайте URL-адрес с помощью
- получение базового URL-адреса вашей электронной таблицы
https://docs.google.com/a/google.com/spreadsheets/d/XXXXXX
- добавить в URL
/gviz/tq?tq=
- создайте запрос, например, в пользовательском интерфейсе Sheets, и URL-адрес закодирует его
- Добавьте запрос в кодировке URL к своему URL
- получение базового URL-адреса вашей электронной таблицы
- Выполните простой запрос на выборку с результирующим URL
Пример:
Если ваш запрос select A
,
- URL-адрес будет
https://docs.google.com/spreadsheets/d/XXXXX/gviz/tq?tq=select A
- и ответ на запрос GET будет:
google.visualization.Query.setResponse({"version":"0.6","reqId":"0","status":"ok","sig":"1023816999","table":{"cols":[{"id":"A","label":"","type":"number","pattern":"General"}],"rows":[{"c":[{"v":1.0,"f":"1"}]},{"c":[{"v":4.0,"f":"4"}]}],"parsedNumHeaders":0}});
Вы можете получить доступ к вложенной структуре JSON по желанию и, конечно, вы можете сформулировать свой запрос по желанию.
Комментарии:
1. Ваш правильный, но я хочу отфильтровать его как запрос со значением листа. Предположим, что столбец с именем Email Id, я хочу получить определенную строку с некоторыми идентификаторами электронной почты.
2. Вы имеете в виду, что хотите получить именованный диапазон?
3. Нет, мне нужна одна строка с вводом некоторых значений на листе, здесь я использую
Sheet1
в качестве параметров диапазона.4. Как бы вы сформулировали свой запрос в пользовательском интерфейсе Sheets?
5. Почему это невозможно с помощью Google Sheets API? Есть документация?