Google 工作表 Java API 无法将值附加到多列

Google Sheets Java API failing to append values to multiple columns

我找不到将多个值附加到多行的方法,就像我使用具有相同范围值的 .update 方法所做的那样。

service.spreadsheets().values()
    .append(
            spreadsheetId,
            "sheet!A2:B300",
            new ValueRange().setValues(Arrays.asList(Arrays.asList("1", "2")))
    )
    .setValueInputOption("USER_ENTERED").execute();

我收到的消息是:

"Requested writing within range [sheet!A2], but tried writing to column [B]"

如果我在 .update 方法而不是 .append 中使用所有相同的参数,一切都会很好地工作。 此外,如果内部列表只有 1 项,.append 将起作用

-

谢谢

编辑:我使用 HH:mm 字符串作为 sheet 名称的一部分。它导致了范围错误。同样适用于 .update 方法,所以我一开始并不认为它很重要

Append 通过在请求的范围内找到一个 table,然后将数据附加到该 table 的末尾来工作。它发现的 table 似乎只有一列(在 'A' 中),并且追加在添加新列时遇到问题。您最有可能通过在 B 中添加列 header 来解决此问题。

诚然,这不是非常直观,所以我们将看看如何更改行为。

从工作表名称中删除冒号,电子表格附加功能中的这个明显错误 API 将会消失。