Rest 使用带有非拉丁字符的A1表示法访问Google工作表中的值

Rest 使用带有非拉丁字符的A1表示法访问Google工作表中的值,rest,google-sheets,google-sheets-api,Rest,Google Sheets,Google Sheets Api,我正在尝试访问本地化为俄语的谷歌电子表格中的值。在俄语中,图纸是Лббб,因此默认图纸名称是Лббб1和Лбб2等 我用于从特定工作表检索值的方法是使用电子表格值API和A1符号将结果限制到特定工作表: /v4/电子表格/{电子表格it}/数值/1!1:1 但是,GoogleAPI返回一个400错误请求。如果手动重命名工作表,使其仅使用拉丁字符(如Sheet1),则效果很好 但这对于使用不同字母的语言的用户来说要求太高了——我希望有一种我在文档中没有看到的方法,可以使用数字工作表ID而不是工作表

我正在尝试访问本地化为俄语的谷歌电子表格中的值。在俄语中,图纸是Лббб,因此默认图纸名称是Лббб1和Лбб2等

我用于从特定工作表检索值的方法是使用电子表格值API和A1符号将结果限制到特定工作表:

/v4/电子表格/{电子表格it}/数值/1!1:1

但是,GoogleAPI返回一个400错误请求。如果手动重命名工作表,使其仅使用拉丁字符(如Sheet1),则效果很好

但这对于使用不同字母的语言的用户来说要求太高了——我希望有一种我在文档中没有看到的方法,可以使用数字工作表ID而不是工作表标题来访问特定工作表的值

谢谢

对问题1的答复: 在我的环境中,我可以确认
https://sheets.googleapis.com/v4/spreadsheets/[电子表格]/values/1!1:1
有效。当我看到响应值时,
“范围”:“A1:Z1”
。例如,用
https://sheets.googleapis.com/v4/spreadsheets/[电子表格]/values/“1”!1:1

使用curl命令时,如下所示

curl \
  "https://sheets.googleapis.com/v4/spreadsheets/[SPREADSHEETID]/values/%27%D0%9B%D0%B8%D1%81%D1%821%27%211%3A1" \
  -H "Authorization: Bearer ###"
  • %27%D0%9B%D0%B8%D1%81%D1%821%27%211%3A1
    '!1:1
    。在这种情况下,范围值由URL encode编码

    • 我还认为,在您的情况下,可能需要像上面那样的URL编码
  • 顺便说一下,在我的环境中,我可以确认下面的curl命令也可以工作

      curl \
        'https://sheets.googleapis.com/v4/spreadsheets/[SPREADSHEETID]/values/Лист1!1:1' \
        -H 'Authorization: Bearer ###'
    
对问题2的答复: 如果要使用图纸ID检索单元格值,那么以下方法如何?在这种情况下,
https://docs.google.com/spreadsheets/d/[SPREADSHEETID]/gviz/tq?gid=[SHEETID]&range=1:1&tqx=out:csv
用作端点

curl \
  'https://docs.google.com/spreadsheets/d/[SPREADSHEETID]/gviz/tq?gid=[SHEETID]&range=1:1&tqx=out:csv' \
  -H "Authorization: Bearer ###"
  • 当运行上述curl命令时,该值将以CSV格式返回
  • 通过使用访问令牌,可以在不发布的情况下检索值
参考资料: