- Вы хотите поместить значения
Header
и Hello
в следующий столбец последнего столбца электронной таблицы без прямого указания диапазона. - Вы хотите добиться этого с помощью листов API.
- Вы уже смогли получить и поместить значения для Google Spreadsheet с помощью API Sheets.
Если мое понимание верно, как насчет этого ответа? Пожалуйста, подумайте об этом как об одном из нескольких возможных ответов.
Проблема и обходное решение:
К сожалению, на текущем этапе в Sheets API нет методов для непосредственного извлечения диапазона данных. Хотя есть метод spreadsheets.values.append и AppendCellsRequest метода spreadsheets.batchUpdate, они могут использоваться для помещения значений в следующую строку последней строки на листе. Это не столбец. Также в этом случае диапазон данных не может быть восстановлен. Поэтому, чтобы достичь поставленной цели выше, я хотел бы предложить следующий обходной путь.
В этом обходном пути Web Apps используется в качестве оболочки. Клиент обращается к веб-приложениям, а веб-приложения извлекают диапазон данных и помещают значения в следующий столбец последнего столбца электронной таблицы. В этом случае диапазон не требуется устанавливать при доступе к веб-приложениям.
Использование:
Использование этого временного решения заключается в следующем.
1 , Создайте новый проект скрипта Google Apps.
Пример скрипта веб-приложений - это скрипт Google Apps. Поэтому, пожалуйста, создайте проект Google Apps Script.
Если вы хотите создать его напрямую, перейдите к https://script.new/. В этом случае, если вы не вошли в Google, откроется экран входа. Пожалуйста, войдите в Google. При этом открывается редактор скриптов Google Apps Script.
2. Скопируйте и вставьте скрипт.
Скопируйте и вставьте следующий скрипт.
function doPost(e) {
var obj = JSON.parse(e.postData.contents);
var sheet = SpreadsheetApp.openById(obj.spreadsheetId).getSheetByName(obj.sheetName);
var values = obj.values;
sheet.getRange(1, sheet.getLastColumn() + 1, values.length, values[0].length).setValues(values);
return ContentService.createTextOutput("ok");
}
- Этот пример скрипта помещает значения в следующий столбец последнего столбца электронной таблицы.
3. Развертывание веб-приложений.
- В редакторе сценариев откройте диалоговое окно с помощью «Publi sh» -> «Развернуть как веб-приложение».
- Выберите «Me « для » Запустите приложение как: «.
- Выберите « Только я » для « У кого есть доступ к приложению: ».
- Если для параметра «Любой, даже анонимный» задано значение «У кого есть доступ к приложению:», маркер доступа использовать не требуется.
- Нажмите " Кнопка «Развернуть» как новая «Версия проекта».
- Автоматически открыть диалоговое окно «Требуется авторизация».
- Нажмите «Просмотреть разрешения».
- Выберите собственную учетную запись.
- Нажмите «Дополнительно» в разделе «Это приложение не подтверждено».
- Нажмите " Go to ### имя проекта ### (небезопасно) "
- Нажмите кнопку" Разрешить ".
- Нажмите" ОК ".
- Скопируйте URL-адрес веб-приложений. Это как
https://script.google.com/macros/s/###/exec
. - Когда вы изменили скрипт Google Apps, пожалуйста, повторно разверните его как новую версию. Этим измененный сценарий отражается в веб-приложениях. Пожалуйста, будьте осторожны.
4. Пример curl.
Чтобы проверить доступ к веб-приложениям, используйте следующую команду curl.
curl -L \
-H "Authorization: Bearer ###" \
-d '{"spreadsheetId": "###", "sheetName": "Sheet1", "values": [["Header"], ["Hello"]]}' \
"https://script.google.com/macros/s/###/exec"
- Укажите URL-адрес веб-приложений, полученный выше, и укажите Идентификатор таблицы и имя листа.
- В этом случае диапазон не требуется включать в тело запроса. Поскольку диапазон данных извлекается в сценарии веб-приложений.
- Когда выполняется указанная выше команда curl, значения
"Header"
и "Hello"
помещаются в следующий столбец последнего столбца на листе «Лист1».
Примечание:
Ссылки:
Если я неправильно понял ваш вопрос и это не то направление, которое вам нужно, я приношу свои извинения.