【发布时间】:2015-09-09 18:48:57
【问题描述】:
我希望有人能帮我弄清楚为什么我不能让 Google Sheets API 为某些用户返回工作表列表。
我正在尝试使用 Google Sheets API 在用户获得授权后获取用户帐户中可用的工作表列表。
事情似乎大部分都在工作,但是对于许多尝试测试该功能的用户来说,我收到了 500 错误。 如果遇到故障的 User1 与未遇到故障的 User2 共享他的所有工作表,则 User2 继续工作而不会遇到任何故障。我相信这排除了任何特定工作表的问题。 (当然,除非与 User2“共享”的工作表与实际在 User1 的帐户中并由其拥有的工作表有所不同。)
我认为问题一定与此特定用户帐户或其设置有关,但我不明白它可能是什么或如何解决这个问题。对于失败的特定用户来说,失败总是可以重现的,对于失败的特定用户来说,成功总是一致的。需要注意的是,失败的用户确实能够从 Google 云端硬盘和 Google 表格网络界面成功访问其帐户中的每个表格(无论是他们拥有的还是与他们共享的)。
同时收到失败和成功的请求以完全相同的格式发出。但是,密钥长度是我注意到成功请求和失败请求之间唯一真正的区别。在我有限的一组测试样本中,成功的请求似乎具有较长的密钥,而失败的请求具有较短的密钥。以下是每个部分的示例,其中部分密钥已编辑:
失败 https://spreadsheets.google.com/feeds/worksheets/t-4-L-cbXXXXXXXXXXm2lA/private/full
此外,我已经使用个人 Google 用户帐户和 Google Apps 用户帐户对此进行了测试。我有两种类型的例子,它们都有效,但都失败了。
有没有人知道如何解决这个问题,或者还有什么可以尝试的,或者其他什么信息可能有用?
谢谢!
【问题讨论】:
-
是否可以复制失败的工作表,然后尝试从应用程序访问该新副本?当工作表尚未迁移到新工作表时,我看到了一些错误,这可能与此有关。制作副本时,新文件将是新工作表的迁移版本。
-
我什至没有尝试访问特定的工作表。我正在尝试获取授权用户的所有工作表列表。与 User2 共享所有工作表并以 User2 身份访问工作表列表工作正常。这让我相信问题可能出在 User1 设置或其他方面,不一定是表格本身。
-
问题是列出电子表格,还是试图访问列表中的电子表格?
-
这只是为了列出电子表格