如何使用 Google-sheet-apis(Node.js) 从 google-sheet 获取特定行?

How to fetch Specific row from google-sheet by using Google-sheet-apis(Node.js)?

我使用 google-apis SDK 进行开发。我可以使用 sheets.spreadsheets.values.get 方法从 sheet 获取值。但它 returns 来自 sheet 的全部值。我需要过滤查询之类的东西。

这是我实际尝试的,

Sample Sheet Image

将上述数据假设为价差sheet,这里sheets.spreadsheets.values.get这个returns整个值来自那个sheet。但我尝试通过 Email=surya@aaa.com

获取第一行

方法spreadsheets.values.get允许(并要求)您指定一个范围

range 的示例值 - 获取 Sheet1 的第 5 行将是 Sheet1!A5:Z5

更新

如果您不知道要检索哪一行,但想合并查询请求,例如在 Google 表格中 UI:

无法使用 Google 张 API。

但有一个解决方法:

使用 Google Visualization API query.

工作流程:

  • 将您的电子表格发布为“拥有 link 的任何人都可以查看”
  • 创建 URL
    • 获取电子表格的基本 URL https://docs.google.com/a/google.com/spreadsheets/d/XXXXXX
    • 添加到URL/gviz/tq?tq=
    • 创建您的查询,例如在工作表 UI 和 URL 中对其进行编码
    • 将 URL 编码查询添加到您的 URL
  • 使用结果 URL
  • 执行简单的提取请求

样本:

如果您的查询是 select A,

  • URL 会是 https://docs.google.com/spreadsheets/d/XXXXX/gviz/tq?tq=select%20A
  • 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 结构,当然您也可以根据需要制定查询。