如何解决工作表名称中的转义加号+
我们有一个Google电子表格,其工作表名为foo + bar (yay)
。当我尝试使用Java API从工作表中选择数据时,我从Google处收到一条错误消息:
{
"code" : 400,"errors" : [ {
"domain" : "global","message" : "Unable to parse range: foo bar (yay)!A2:Z","reason" : "badRequest"
} ],"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编码。
我尝试列出此电子表格的工作表名称,而我在工作表名称中找回了+
符号,所以我认为这不是问题。然后,我尝试重命名工作表以使用单词“和”而不是+
,并且我的代码能够成功选择范围-因此,我可以肯定+
是问题所在。我在文档中看不到任何转义特殊字符的描述。
我在文档https://developers.google.com/sheets/api/guides/concepts#a1_notation中注意到了这一点,并尝试用单引号("'foo + bar (yay)'"
)将工作表名称括起来,但无济于事。
是否可以在不重命名工作表的情况下选择此范围?
解决方法
我遇到了同样的错误-也使用Java库,并尝试引用名为“ Week 1 + 2”的工作表。.我尝试了“'Week 1 + 2'!A2:Z”的想法,但是Java没有不喜欢然后,我尝试了“'Week1 \ +2'!A2:Z”并进行了编译,但出现了“无法解析范围“ Week1 \ 2”的错误。这就像(有人指出的那样)将“ +”转换为我在其他地方也看到有人在-的名字上出现问题-
**没有答案!!!试图在上面添加评论,但不会让我**
有趣的事实->我测试了python库以读取工作表,并且它很高兴地接受带有嵌入式+的工作表名称。所以这似乎是一个Java东西。...
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。