gpt4 book ai didi

google-sheets-api - 转义工作表名称中的加号 (+)

转载 作者:行者123 更新时间:2023-12-05 07:02:41 25 4
gpt4 key购买 nike

我们有一个 google 电子表格,其中有一个名为 foo + bar (yay) 的工作表。当我尝试使用 Java API 从工作表中选择数据时,我从 Google 收到一条错误消息:

{
"code" : 400,
"errors" : [ {
"domain" : "global",
"message" : "Unable to parse range: foo bar (yay)!A2:Z",
"reason" : "badRequest"
} ],
"message" : "Unable to parse range: foo bar (yay)!A2:Z",
"status" : "INVALID_ARGUMENT"
}

代码看起来像这样(省略了身份验证的一些细节,并从 Scala 翻译而来)

Sheets s = ... // constructed using HTTP transport & credentials
String range = "'foo + bar (yay)'!A2:Z";
String spreadsheetId = ... // fill in your own
ValueRange values = s.spreadsheets().values().get(spreadsheetId, range).execute();

它基于以下代码示例:https://developers.google.com/sheets/api/quickstart/java#step_3_set_up_the_sample

请注意,+ 已被替换为单个空格 ,就好像它是经过 URL 编码一样。我尝试用 %2B 替换 + 但我仍然收到错误,它重复 %2B 给我,就好像我的意思是“%2B "- 所以我认为这不是 URL 编码的问题。

我尝试列出此电子表格的工作表名称,但我在工作表名称中返回了一个 + 符号,所以我认为这不是问题所在。然后我尝试重命名工作表以使用单词“and”而不是 +,并且我的代码能够成功选择范围 - 因此我非常确定 +是问题所在。我在文档中没有看到任何关于转义特殊字符的描述。

我在文档中注意到了这一点:https://developers.google.com/sheets/api/guides/concepts#a1_notation并尝试用单引号将工作表名称括起来 ("'foo + bar (yay)'") 但无济于事。

有什么方法可以在不重命名工作表的情况下选择这个范围?

最佳答案

我遇到了同样的错误 - 也使用 java 库,并尝试引用名为“第 1+2 周”的工作表。我尝试了“'第 1+2 周'!A2:Z”的想法,但 java 没有喜欢它。然后我尝试了“'Week1\+2'!A2:Z”并编译了它,但是得到了一个“无法解析范围'Week 1\2'错误。就像(正如有人指出的那样)'+'被翻译成一个空格。我在其他地方看到有人对名称中的 - 也有疑问?

** 不是答案!!!试图在上面添加评论,但不允许我**

有趣的事实 -> 我测试了 python 库来读取工作表,它非常乐意接受带有嵌入式 + 的工作表名称。所以这似乎是一个 Java 的东西....

关于google-sheets-api - 转义工作表名称中的加号 (+),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63473634/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com