Почему мы получили эту ошибку с пустой фиктивной электронной таблицей с одним пустым листом, пытающимся добавить строку к первому листу?
Чтобы воссоздать, попробуйте следующее:
- Создать пустая электронная таблица, она будет содержать один лист по умолчанию
- Добавить еще один пустой лист с именем "Лист 2" в предыдущую электронную таблицу
- удалить электронную таблицу по умолчанию, первую
Теперь мы хотим добавить строку к «Листу 2»
К сожалению, электронная таблица закрыта для gsuite и недоступна для публикации c, но вы можете выполнить предыдущие шаги для воспроизведения
https://docs.google.com/spreadsheets/d/1feeE6Glv_TEE3lAi4Pd3BWblLo7jwPgSMyjATHY5SM8/edit?usp=sharing
Этот лист был создан до выпуска Листов V4, если я создаю новый лист, копирующий все ячейки из старой, он работает, но у нас есть много старых таблиц в порт и это будет трудоемкая работа
API тест
https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets/batchUpdate?apix_params=%7B%22spreadsheetId%22%3A%221feeE6Glv_TEE3lAi4Pd3BWblLo7jwPgSMyjATHY5SM8%22%2C%22resource%22%3A%7B%22requests%22%3A%5B%7B%22appendDimension%22%3A%7B%22length%22%3A1%2C%22sheetId%22%3A0%2C%22dimension%22%3A%22ROWS%22%7D%7D%5D%7D%7D
Запрос
ЭТОТ ТЕЛО Был построен с использованием редактора кода Google на developers.google.com/sheets/api/reference/rest/v4/spreadsheets/batchUpdate
то же самое Код был протестирован с использованием Java API с теми же параметрами, мы хотим добавить строку на первый лист
{
"requests": [
{
"appendDimension": {
"length": 1,
"sheetId": 0,
"dimension": "ROWS"
}
}
]
}
Ответ
{
"error": {
"code": 400,
"message": "Invalid requests[0].appendDimension: No grid with id: 0",
"status": "INVALID_ARGUMENT"
}
}
Если вы следуете начальному шаги до шага 2, ответ будет 200 OK
, поэтому мы считаем, что мы не ссылаемся на первый лист, используя нулевой идентификатор листа со значением 0