繁体   English   中英

尝试使用 API v4 在 google 表格中写入一行时出错

[英]Error trying to write a row in google sheets using API v4

我正在尝试使用 java 和 Google Sheets API v4 在工作表中写入一行。 我收到一个我无法理解的错误。 任何帮助将不胜感激!

传递的值是:

sRange = '09/03/2017 11:01:13 PM'!A1
body = {majorDimension=ROWS, values=[[测试 ID, 测试名称, 运行 ID, 状态, 运行持续时间, 执行日期, 执行时间]]}

这是故障代码:

outputValues = Arrays.asList(Arrays.asList("Test ID", "Test Name", "Run ID", "Status", "Run Duration", "Execution Date", "Execution Time"));
sRange = "'" + sSheetName + "'" + "!" + sHeaderRow;
body = new ValueRange().setValues(outputValues).setMajorDimension("ROWS");
result = service.spreadsheets().values().update(sSpreadsheetID, sRange, body).setValueInputOption("RAW").execute();

结果:

{
  "code" : 400,
  "errors" : [ {
    "domain" : "global",
    "message" : "Requested writing within range ['09/03/2017 11:01:13 PM'!A1], but tried writing to column [B]",
    "reason" : "badRequest"
  } ],
  "message" : "Requested writing within range ['09/03/2017 11:01:13 PM'!A1], but tried writing to column [B]",
  "status" : "INVALID_ARGUMENT"
}

由于工作表标题中的字符问题而出现此错误。 删除工作表标题中的空格、破折号和冒号并用下划线替换它们修复了它。

我认为 sRange 应该使用A1 表示法

看起来像:

SheetName!A1:B2
Sheet1!A1

检查链接以获取更多信息。

将您的工作表名称更改为它的一些简单版本(没有特殊符号)。 在我的情况下有所帮助。

我已经有一段时间了,在我的情况下,我试图连续更新超过 2 个字段,并且我将范围指定为 A1:B1,这仅描述了要更新的 2 行。 我将其更改为仅 A1 并且有效。

所以让你的范围是:

SheetName!A1

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM