Las máscaras de campo permiten que los llamadores de la API enumeren los campos que una solicitud debe devolver o actualizar. Con un FieldMask permite que la API evite el trabajo innecesario y mejore el rendimiento. Una máscara de campo se usa para los métodos de lectura y actualización en la API de Hojas de cálculo de Google.
Lee con una máscara de campo
Las hojas de cálculo pueden ser grandes y, a menudo, no necesitas todas las partes
Spreadsheet
recurso que muestra una solicitud de lectura. Puedes limitar lo que se devuelve en un
Respuesta de la API de Hojas de cálculo con el parámetro de URL fields
Lo mejor
rendimiento,
Enumera de forma explícita solo los campos que necesitas.
en la respuesta.
El formato del parámetro de campos es el mismo que el de Codificación JSON de una FieldMask. Dicho en pocas palabras, varios campos diferentes están separados por comas y los subcampos se separados por puntos. Los nombres de los campos pueden especificarse con el formato camelCase o separated_by_underscores. Para mayor comodidad, hay varios subcampos del mismo pueden aparecer entre paréntesis.
Lo siguiente
Solicitud spreadsheets.get
ejemplo usa una máscara de campo de sheets.properties(sheetId,title,sheetType,gridProperties)
para
recuperar solo el ID de la hoja, el título
SheetType
y
GridProperties
de un
SheetProperties
objeto en todas las hojas de una hoja de cálculo:
GET https://sheets.googleapis.com/v4/spreadsheets/spreadsheetId?fields=sheets.properties(sheetId,title,sheetType,gridProperties)
La respuesta a esta llamada de método es una
Spreadsheet
que contiene los componentes solicitados en la máscara de campo. Ten en cuenta que
sheetType=OBJECT
no contiene gridProperties
:
{ "sheets": [ { "properties": { "sheetId":SHEET_ID
, "title": "TITLE
", "sheetType": "GRID", "gridProperties": { "rowCount": 1000, "columnCount": 25 } } }, { "properties": { "sheetId":SHEET_ID
, "title": "TITLE
", "sheetType": "OBJECT" } } ] }
Actualizar con una máscara de campo
A veces, es necesario actualizar solo ciertos campos de un objeto y, al mismo tiempo, dejar
otros campos sin modificar. Solicitudes de actualización en un
spreadsheets.batchUpdate
usan máscaras de campo para indicarle a la API qué campos se modificarán. El
la solicitud de actualización ignora los campos que no se especifiquen en la máscara de campo,
y dejarlos con sus valores actuales.
También puedes anular la configuración de un campo si no lo especificas en el mensaje actualizado, pero agregando el campo a la máscara. Esto borra cualquier valor del campo anterior que tenían.
La sintaxis de las máscaras de campo de actualización es la misma que la de las máscaras de campo de lectura.
En el siguiente ejemplo, se usa la
AddSheetRequest
para agregar una hoja nueva del tipo Grid
, inmovilizar la primera fila y cambiar el color de la nueva
pestaña roja de la hoja:
POST https://sheets.googleapis.com/v1/spreadsheets/spreadsheetId:batchUpdate
{ "spreadsheetId": "SPREADSHEET_ID
", "replies": [ { "addSheet": { "properties": { "sheetId":SHEET_ID
, "title": "TITLE
", "index": 6, "sheetType": "GRID", "gridProperties": { "rowCount": 1000, "columnCount": 26, "frozenRowCount": 1 }, "tabColor": { "red": 0.003921569 }, "tabColorStyle": { "rgbColor": { "red": 0.003921569 } } } } } ] }