Как извлечь определенную строку из google-sheet с помощью Google-sheet-apis (Node.js )?

#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

Пример:

Если ваш запрос 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? Есть документация?