检索Google电子表格工作表JSON

时间:2014-07-02 12:41:46

标签: json google-api google-sheets

我尝试接收Google电子表格工作表的JSON。它工作到几天前。对于默认工作表,它仍然有效,但不适用于所有其他工作表。

这是默认工作表的工作网址:https://spreadsheets.google.com/feeds/list/1caRqAA1TyBoZ0eVZvvKheEBh9SGRmQII4qih9urY70k/od6/public/full?alt=json

这是停止工作的工作表的网址:https://spreadsheets.google.com/feeds/list/1caRqAA1TyBoZ0eVZvvKheEBh9SGRmQII4qih9urY70k/1416241220/public/full?alt=json

错误讯息为Invalid query parameter value for grid_id.

唯一的区别是工作表参数(od6 vs 1416241220)。

有关错误突然发生的原因的任何想法?

3 个答案:

答案 0 :(得分:56)

ChrisPeterson注意:

您可以使用工作表位置编号(第一个/默认工作表为1,第二个工作表为2)。

原始回答

我遇到了同样的问题,我设法找到了出路。 他们最近似乎更改了每个工作表的ID。

您可以在以下

中找到新ID

https://spreadsheets.google.com/feeds/worksheets/YOUR_SPREADSHEET_ID/private/full

我在o3laxt8代码

之间得到<id>之类的内容

Ps:od6default值始终有效并重定向到文档的第一个工作表。

Joe Germuska&#39;注意:

od6不再工作

似乎再次工作。

答案 1 :(得分:8)

我想分享一个具体的例子,因为我发现有足够令人困惑的指示,包括已接受的答案和工作表ID以及将它们放在哪里不明显。

这是我发布的文档,任何有链接的人都可以查看:
https://docs.google.com/spreadsheets/d/1QDWpycJJFA-UAiSPIv-icJ4UZhbEmuN8wxxag83SE1c/edit?usp=sharing

必须正确发布文档。有两个发布按钮,第一个按钮不适用于此任务。使用第二个。

enter image description here

文件KEY很重要。从网址中的+-----+----------+------------+-------+------------+-------+ |user |activityId|event-1-time|event-1|event-2-time|event-2| +-----+----------+------------+-------+------------+-------+ |user1|123 |null |0 |null |0 | |user2|123 |1002 |1 |null |0 | |user2|123 |1001 |1 |10001 |1 | |user3|123 |1003 |1 |null |0 | |user4|123 |null |0 |null |0 | |user5|123 |1004 |1 |10002 |1 | +-----+----------+------------+-------+------------+-------+ /d/之间获取KEY。在我的示例中,键是/edit

其次,使用以下URL样式,将KEY替换为您自己的:

1QDWpycJJFA-UAiSPIv-icJ4UZhbEmuN8wxxag83SE1c

我的示例网址直接链接到已发布的json:
 https://spreadsheets.google.com/feeds/list/1QDWpycJJFA-UAiSPIv-icJ4UZhbEmuN8wxxag83SE1c/od6/public/values?alt=json

最后,如果工作表有多个工作表(或制表符),请用数字替换网址中的https://spreadsheets.google.com/feeds/list/KEY/od6/public/values?alt=json 。我的示例有两个选项卡,因此有两个对应于任一选项卡的URL。我只需将od6替换为od61,具体取决于工作表的顺序:

标签1:
https://spreadsheets.google.com/feeds/list/1QDWpycJJFA-UAiSPIv-icJ4UZhbEmuN8wxxag83SE1c/1/public/values?alt=json

标签2:
https://spreadsheets.google.com/feeds/list/1QDWpycJJFA-UAiSPIv-icJ4UZhbEmuN8wxxag83SE1c/2/public/values?alt=json

如果工作表中的选项卡经常重新排序,则可以获取给定工作表的ID并使用该ID而不是有序数字。我首先从此post或此post了解了这种方法:

简而言之,您将使用KEY改写私人网址:

2

这仅适用于您在具有权限的帐户上登录Google云端硬盘的浏览器。

接下来,您必须筛选XML以查找工作表ID:

enter image description here

将以前的https://spreadsheets.google.com/feeds/worksheets/KEY/private/full 1替换为ID,例如:

选项卡1(默认情况下,新版Google工作表中的第一个工作表ID始终为od6,无论选项卡顺序如何): https://spreadsheets.google.com/feeds/list/1QDWpycJJFA-UAiSPIv-icJ4UZhbEmuN8wxxag83SE1c/od6/public/values?alt=json

标签2:
https://spreadsheets.google.com/feeds/list/1QDWpycJJFA-UAiSPIv-icJ4UZhbEmuN8wxxag83SE1c/ope57yg/public/values?alt=json

答案 2 :(得分:0)