Похоже, в документации говорится, что мы должны использовать batchUpdate из коллекции $service->spreadsheets_values
. Но это неправильно. Это должна быть коллекция $service->spreadsheets
. Правильный ответ после множества проб и ошибок:
try {
$body = new Google_Service_Sheets_BatchUpdateSpreadsheetRequest(array(
'requests' => array(
'addSheet' => array(
'properties' => array(
'title' => 'New Sheet'
)
)
)
));
$result1 = $service->spreadsheets->batchUpdate($sSpreadsheetID,$body);
} catch(Exception $ignore) {}
Учитывая, что вы уже аутентифицирован свой API, чтобы получить $client
объект, а затем использовал это, чтобы получить $service
объект класса Google_Service_Sheets
, и учитывая, что вы присвоили $sSpreadsheetID
идентификатору вашей электронной таблицы, то описанная выше процедура попытается добавить новую вкладку в вашу электронную таблицу с именем «Новый лист», не уничтожая ни одного существующего, и не будет показывать ошибок, если эта вкладка уже существует. В этот момент вы можете сделать что-то новое с этим новым листом, обратившись к нему с помощью A1 Notation.
Где говорят документы, чтобы использовать коллекции значений? –
Здесь: https://developers.google.com/sheets/api/reference/rest/v4/spreadsheets.values/batchGet – Volomike
Можете ли вы процитировать часть этой страницы, в которой говорится, чтобы использовать коллекции значений для добавления листа? Я этого не вижу, но если он скажет, что я хотел бы это исправить. –