您必须记住,在使用“列表提要”时,它使用 XML 元素来分隔每个值,并从工作表的第 1 行中获取字段名称。因此,名称的限制是 XML 元素名称的限制。XML.com 上有一篇关于这里的文章。
至于他们用于将各种标题单元格值转换为有效 XML 元素名称的确切算法,我从未见过谷歌指定这一点(尽管人们之前已经要求澄清)。但是,人们可能会想象它是这样的:
foreach char in cell.value {
if (isAllowed(char)) {
name += char;
}
}
return name;
当然,它们确实倾向于省略空格(例如),而不是将它们(这是相当合理的)转换为下划线。
现在关于 ASCII 集之外的字符......
如果您的 í 是“LATIN SMALL LETTER I WITH ACUTE”,那么它的 Unicode 代码点是 U+00ED,并且它在 XML-land 中写为 í。因此,它是 XML 名称的有效字符。从http://www.w3.org/TR/REC-xml/#NT-NameChar,它似乎是一个有效的NameStartChar
[4] NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] | [#x37F-#x1FFF] | [#x200C-#x200D] | [#x2070-#x218F] | [#x2C00-#x2FEF] | [#x3001-#xD7FF] | [#xF900-#xFDCF] | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF]
[4a] NameChar ::= NameStartChar | "-" | "." | [0-9] | #xB7 | [#x0300-#x036F] | [#x203F-#x2040]
[5] Name ::= NameStartChar (NameChar)*
如果他们确实有像上面这样的算法,那么 í 应该是'in'。但是,我会密切注意您发送电子表格 API 的编码,以及它发送回给您的编码。我不会让谷歌在这方面出现错误。
您当然可以做一个实验:使用 Google Apps 用户界面将值放在工作表的标题行,然后对 List 提要执行 GET,以查看 XML 的实际结果。(但我希望你到目前为止一直在你的实验中使用它)。
祝你好运。