Después de de una larga búsqueda de información pudimos solucionar este rompecabezas que pueden tener algunos usuarios. Te dejamos la respuesta y esperamos servirte de gran apoyo.
Solución:
Parece que la documentación dice que debemos usar batchUpdate desde $service->spreadsheets_values
recopilación. Pero eso es incorrecto. debería ser el $service->spreadsheets
recopilación. La respuesta correcta después de mucho ensayo y error es:
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)
Dado que ya ha autenticado su API para obtener un $client
objeto, y luego lo usó para obtener un $service
objeto de clase Google_Service_Sheets
y dado que ha asignado $sSpreadsheetID
a la ID de su hoja de cálculo, entonces la rutina anterior intentará agregar una nueva pestaña a su hoja de cálculo llamada ‘Nueva hoja’ sin destruir ninguna existente, y no mostrará errores si esta pestaña ya existe. En ese momento, puede hacer algo nuevo con esa nueva hoja al abordarla con la notación A1.
Así es como se hace con el cliente Node.js:
const gsapi = google.sheets(version: 'v4', auth: client)
const options =
spreadsheetId: 'YOUR ID IS EVERYTHING BETWEEN /d/ and /edit on your spreadsheets URL'
const res = await gsapi.spreadsheets.batchUpdate(
spreadsheetId: options.spreadsheetId,
requestBody:
requests: [
addSheet:
properties:
title: table,
]
)
console.log(res)
Si piensas que ha resultado provechoso nuestro post, sería de mucha ayuda si lo compartieras con más seniors y nos ayudes a extender esta información.