- Вы хотите получить номер строки путем поиска значения с помощью API Sheets.
- Вы хотите удалить строки, выполнив поиск значения с помощью API Sheets.
Если мое понимание верно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.
Проблема и обходное решение:
К сожалению, на текущем этапе номер строки не может быть получен напрямую путем поиска значения с помощью Sheets API. Кроме того, строки не могут быть удалены путем поиска значения с помощью API Sheets. Я не уверен, будут ли они добавлены в будущем обновлении. Итак, в текущем обходном пути, как насчет следующих обходных путей?
Обходное решение 1:
Последовательность действий этого обходного пути следующая.
- Извлечение всех имен листов и Идентификатор листа, используя метод "spreadsheets.get" в API листов.
- Извлечение всех значений из листа в электронную таблицу, используя метод Sheets API "spreadsheets.values.batchGet".
- Найдите имя листа и номер строки в полученных значениях, используя значение.
- В этом случае требуется подготовить сценарий.
- Удалите строки, используя метод "spreadsheets.batchUpdate" в API листов.
Благодаря этому потоку ваша цель может быть достигнута.
Обходной путь 2:
В этом обходном пути веб-приложения, созданные в скрипте Google Apps, используются в качестве API.
1. Создайте новый проект скрипта Google Apps.
Пример скрипта веб-приложений - это скрипт Google Apps. Поэтому, пожалуйста, создайте проект Google Apps Script.
Если вы хотите создать его напрямую, перейдите к https://script.new/. В этом случае, если вы не вошли в Google, откроется экран входа. Пожалуйста, войдите в Google. При этом открывается редактор сценариев Google Apps Script.
2. Подготовьте скрипт.
Скопируйте и вставьте следующий скрипт в редактор скриптов. Этот скрипт предназначен для веб-приложений. В этом скрипте используется Sheets API. * * * * * * * * * * * * * * * * * *
* * * * * * * *1053* В этом случае используется метод GET. Если вы хотите запустить функцию, предоставляя большие данные, вы можете использовать
doPost()
вместо
doGet()
.
3. Развертывание веб-приложений.
- В редакторе сценариев откройте диалоговое окно с помощью «Publi sh» -> «Развернуть как веб-приложение».
- Выберите «Me " for " Запустите приложение как: ".
- При этом сценарий запускается от имени владельца.
- Здесь, если задано значение «Любой», сценарий запускается от имени каждого пользователя. В этом случае требуется предоставить общий доступ к сценарию каждому пользователю. И токен доступа требуется использовать. Пожалуйста, будьте осторожны.
- Выберите "Любой, даже анонимный" для "У кого есть доступ к приложению:" .
- В этом случае токен доступа не требуется запрашивать. Я думаю, что в качестве тестового примера я рекомендую этот параметр.
- Конечно, вы также можете использовать токен доступа. В это время установите «Anyone» .
- Нажмите кнопку «Развернуть» как новую «Project version».
- Автоматически открывать диалоговое окно «Требуется авторизация».
- Нажмите «Просмотреть разрешения».
- Выберите собственную учетную запись.
- Нажмите «Дополнительно» в разделе «Это приложение не подтверждено».
- Нажмите " Go to ### имя проекта ### (небезопасно) "
- Нажмите кнопку" Разрешить ".
- Нажмите" ОК ".
- Скопируйте URL-адрес веб-приложений. Это как
https://script.google.com/macros/s/###/exec
. - Когда вы изменили скрипт Google Apps, пожалуйста, повторно разверните его как новую версию. Этим измененный сценарий отражается в веб-приложениях. Пожалуйста, будьте осторожны.
3. Запустите функцию с помощью веб-приложений.
Это пример команды скручивания для использования веб-приложений. Укажите URL-адрес веб-приложения, идентификатор таблицы и значение поиска.
curl -GL \
-d "spreadsheetId=###" \
-d "value=sample" \
"https://script.google.com/macros/s/###/exec"
- Когда
spreadsheetId=###
и value=sample
используются в качестве параметра запроса в doGet(e)
. Например, вы можете получить spreadsheetId
, используя e.parameter.spreadsheetId
. В приведенном выше сценарии веб-приложений при запуске этой команды curl возвращается значение, подобное [{"range":"'Sheet1'!A1","sheetId":0},{"range":"'Sheet2'!B2","sheetId":###}]
. Это результат поиска по значению sample
.
- . В качестве примера можно найти значение по всем листам в электронной таблице. Об этом вы можете изменить сценарий в соответствии с вашей реальной ситуацией.
Если используется deleteRows=true
, как показано ниже, то значение ищется на всех листах в электронной таблице и в искомом строки удаляются.
curl -GL \
-d "spreadsheetId=###" \
-d "value=sample" \
-d "deleteRows=true" \
"https://script.google.com/macros/s/###/exec"
Примечание:
- Этот пример сценария используется с V8.
Ссылки:
Если я неправильно понял ваш вопрос, и это не то направление, которое вам нужно, я приношу свои извинения.