【问题标题】:Google Sheets API - 500 Error for sheets listingGoogle Sheets API - 工作表列表出现 500 错误
【发布时间】: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

https://spreadsheets.google.com/feeds/worksheets/1n7rDwb5gwt1XXXXXXXXXXYzUz2_F4nEqMhaK4Odk/private/full

此外,我已经使用个人 Google 用户帐户和 Google Apps 用户帐户对此进行了测试。我有两种类型的例子,它们都有效,但都失败了。

有没有人知道如何解决这个问题,或者还有什么可以尝试的,或者其他什么信息可能有用?

谢谢!

【问题讨论】:

  • 是否可以复制失败的工作表,然后尝试从应用程序访问该新副本?当工作表尚未迁移到新工作表时,我看到了一些错误,这可能与此有关。制作副本时,新文件将是新工作表的迁移版本。
  • 我什至没有尝试访问特定的工作表。我正在尝试获取授权用户的所有工作表列表。与 User2 共享所有工作表并以 User2 身份访问工作表列表工作正常。这让我相信问题可能出在 User1 设置或其他方面,不一定是表格本身。
  • 问题是列出电子表格,还是试图访问列表中的电子表格?
  • 这只是为了列出电子表格

标签: google-spreadsheet-api


【解决方案1】:

API 有时会返回该用户帐户中不再可用的工作表。我不确定它为什么会这样。但是,如果您尝试在不再可用的工作表中枚举工作表(或以任何其他方式访问它),您将遇到问题,因为工作表本身不再可用。对您的解决方案进行编码,这样您就不会尝试访问任何不再可用的工作表的内容。

【讨论】:

    【解决方案2】:

    失败

    https://spreadsheets.google.com/feeds/worksheets/t-4-L-cbXXXXXXXXXXm2lA/private/full

    接缝奇短,你确定钥匙是对的吗?

    【讨论】:

    • 这正是我所关心的。然而,当这个客户在我调试时试图获取工作表列表时,我能够得到的就是这个。但可能是什么导致了这才是我想的真正问题。问题是我无法确定任何事情,但是同一客户的完全相同的代码在反对他的其他帐户时可以工作。所以我怀疑它与设置或帐户或组合有关,只是不知道它可能是什么。
    猜你喜欢
    • 2018-12-19
    • 2017-06-18
    • 1970-01-01
    • 1970-01-01
    • 2023-01-29
    • 2020-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多