У меня есть электронная таблица с подготовленным шаблоном и набор кода Apps Script для работы с таблицами. Мне нужно экспортировать данные в этот шаблон с помощью Google Sheets API, но делать это в одной таблице для всех пользователей — не лучшая идея. Поэтому мне нужно создать новую таблицу для каждого пользователя. Мне удалось создать пустую таблицу, скопировать лист шаблона из исходной таблицы и вставить его в новую, вот так:
Код: Выделить всё
//Creating new Spreadsheet
$service = new Google_Service_Sheets($client);
$serviceDrive = new Google_Service_Drive($client);
$spreadsheet = new Google_Service_Sheets_Spreadsheet([
'properties' => [
'title' => Lang::get('pls.export.spreadsheet_name'),
]
]);
$spreadsheet = $service->spreadsheets->create($spreadsheet, [
'fields' => 'spreadsheetId'
]);
//Copying sheet from template
$sourceSpreadsheet = 'spreadsheet id goes here';
$soureSheet = 'sheet id goes here';
$requestBody = new Google_Service_Sheets_CopySheetToAnotherSpreadsheetRequest(['destinationSpreadsheetId' => $spreadsheet->spreadsheetId]);
$response = $service->spreadsheets_sheets->copyTo($sourceSpreadsheet, $soureSheet, $requestBody);
Это работает, и я также могу записывать в него данные, но проблема в том, что я не могу скопировать код Apps Script. Я также искал способ каким-то образом продублировать всю старую электронную таблицу и импортировать туда данные, но ничего не нашел (хотя не уверен, поможет ли это копирование кодов сценариев приложений). Можно ли скопировать коды сценариев приложений с помощью API Google Таблиц и вставить их в новую электронную таблицу? Или как мне продублировать всю таблицу?
Подробнее здесь:
https://stackoverflow.com/questions/640 ... sheets-api