从您的端点来看,我认为您可能正在使用 Sheets API 中的电子表格.values.get 方法。如果我的理解是正确的,在您的情况下,使用valueRenderOption 的查询参数怎么样?当你的端点被修改后,变成如下。
修改端点:
https://sheets.googleapis.com/v4/spreadsheets/{MYSHEET}/values/Sheet1!A1:D5?valueRenderOption=UNFORMATTED_VALUE
- 本次修改增加了
valueRenderOption=UNFORMATTED_VALUE的查询参数。
参考:
补充:
当我看到您更新的问题时,您的值似乎是 16 位数字。在 Sheets API 中,可以将 15 位视为十进制数。当数字大于 15 位时,如1000000000000000,则检索1e+15 的值。当我使用电子表格.values.get 、电子表格.values.batchGet 和电子表格.get 的方法对此进行测试时,得到了相同的结果。当我看到您的电子表格时,4.3668413379866e+15 和 4.14809933325943e+15 被检索到。
幸运的是,当我使用 Google Apps Script 的电子表格服务对此进行测试时,我注意到可以检索到 4366841337986600 和 4148099333259430 的值。因此,作为一种解决方法,我想提出以下流程。
用法:
1。创建一个新的 Google Apps 脚本项目。
Web Apps 的示例脚本是 Google Apps 脚本。所以请创建一个 Google Apps Script 项目。
如果要直接创建,请访问https://script.new/。在这种情况下,如果您没有登录 Google,则会打开登录屏幕。所以请登录谷歌。这样,Google Apps Script 的脚本编辑器就打开了。
2。示例脚本。
请将以下脚本复制并粘贴到创建的 Google Apps 脚本项目中并保存。此脚本用于 Web 应用程序。
function doGet(e) {
const {id, range} = e.parameter;
if (!id || !range) return ContentService.createTextOutput("No spreadsheet ID or range.");
const values = SpreadsheetApp.openById(id).getRange(range).getValues();
return ContentService.createTextOutput(JSON.stringify(values));
}
3。部署 Web 应用程序。
详细信息可见the official document。
- 在脚本编辑器上,在脚本编辑器的右上角,请点击“点击部署”->“新建部署”。
- 请点击“选择类型”->“Web App”。
- 请在“部署配置”下的字段中输入有关Web App的信息。
- 请为“执行为”选择“我”。
- 请为“谁有权”选择“任何人”。
- 在这种情况下,用户不需要使用访问令牌。所以请将此作为测试用例。
- 当然,您也可以使用访问令牌访问您的 Web 应用程序。请查看this report。
- 请点击“部署”按钮。
- 复制 Web 应用程序的 URL。就像
https://script.google.com/macros/s/###/exec。
4。测试。
为了测试此 Web 应用程序,请通过将其替换为您的 Web 应用程序 URL 来访问以下端点。
https://script.google.com/macros/s/###/exec?id=1pSQ4W0GV85Z-6QrUx0UxVA3VCSHE3x93BT3c-R6mHZk&range=Form%20Responses%201!A2:A3
当浏览器访问这个端点时,得到如下结果。
[
[4366841337986600],
[4148099333259430]
]
注意:
参考资料: