(Google表格)从URL中查询并返回多个表格

3
我使用来自Google电子表格的JSON数据,用于两个移动应用程序(iOS和Android)。相同的信息可以使用HTML或XML输出,在这种情况下,我正在使用HTML,以便每个人都能理解(来自电子表格的)信息。在没有身份验证(O’Auth)的情况下,唯一合理的方法是通过公共URL注入。 您可以在此处找到有关我所说内容的信息。为了理解我的请求,您必须实际点击链接并查看。我不知道如何“称呼”我正在询问的一些事情,因为谷歌的文档很差,这并非我的错。
在我的应用程序中,我有一个搜索功能,可以查询电子表格(使用URL请求)类似于以下内容:

https://docs.google.com/spreadsheets/d/1yyHaR2wihF8gLf40k1jrPfzTZ9uKWJKRmFSB519X8Bc/gviz/tq?tqx=out:html&tq=select+A,B,C,D,E+where+(B+contains"Cat")&gid=0

我选择了列(A,B,C,D和E),并要求(Google)仅返回包含单词“cat”的列B中的行。再次强调,这是通过URL地址(注入是正确的术语)完成的。我不能使用几乎任何在电子表格中正常工作的函数/公式,例如ArrayFormula或ImportRange。事实上,我只能访问10个语言条款(从之前的链接中阅读)。我对电子表格和数据库有相当好的了解,由于从它们获取信息的URL方法类似,但它们绝不是同一回事。
现在,我想指出URL中的这部分内容。
tq?tqx=out:html&tq=select+A,B,C,D,E+where+(B+contains"Cat")&gid=0

输出类型,此处为HTML

tqx=out:html

查询开始

&tq=

选择A-E列

select+A,B,C,D,E

返回有关猫的特定信息

where+(B+contains"Cat")

这可能是我问题中最重要的部分。它用于指定正在查询的表格(Tab)。
&gid=0

如果gid从gid=0更改为gid=181437435,则返回的数据来自电子表格的第二个表。有没有一种方法可以在一个请求中完成两个表的搜索,而不必进行2次请求?(例如将这两个表合并)<— 这就是我要问的。
我已尝试在网址上使用AND子句。
select+A,B,C,D,E+where+(B+contains%20"Cat")&gid=181437435+AND+select+A,B,C,D,E+where+(B+contains%20"Cat")&gid=0

我甚至已经反转了gid并放到其他位置,但似乎只按照url中的最后一个(gid)进行操作,并且无论做什么只返回1个表。顺便提一下,允许分组。如果这不能解决我的问题,请告诉我你迷失在哪里。此外,我本来会发布更多URL以方便访问,但我现在只能发布两个URL。
1个回答

1

如果我理解您的需求,确实是这样的,例如使用以下语法:

=ArrayFormula(QUERY({Sheet1!A1:C4;Sheet2!B1:D4},"select * order by Col1 desc"))
; 将一个数组叠加在另一个数组上方(使用 , 实现并排)。
我对“URL查询语言”感到困惑,因为这里所谓的Google查询语言(甚至有标签,尽管根据我的理解,几乎所有这些问题都属于Web应用程序 - 包括这个问题!)并不仅限于与URL一起使用。
在上面的示例中,可以将工作表引用替换为数据导入函数。

嗯,我已经更新了我的问题,但也许你是对的。 - Greg432

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接