En esta página, se describe cómo configurar una etiqueta
Field
en un solo
Archivo de Google Drive.
Para agregar metadatos a un archivo estableciendo una etiqueta de archivo, utiliza la
files.modifyLabels
. El
cuerpo de la solicitud
contiene una instancia de
ModifyLabelsRequest
para modificar el conjunto de etiquetas de un archivo. La solicitud puede contener varios
las modificaciones que se aplican de forma atómica. Es decir, si alguna modificación no se
es válido, entonces no se realizará correctamente la actualización y no se
dependientes).
ModifyLabelsRequest
contiene una instancia de
LabelModification
que es una modificación de la etiqueta de un archivo. También puede contener una instancia
de
FieldModification
que es una modificación del campo de una etiqueta.
Si tiene éxito, la respuesta
body contiene
las etiquetas que la solicitud agregó o actualizó. Existen en un
Objeto modifiedLabels
de tipo Label
.
Ejemplo
En la siguiente muestra de código, se indica cómo usar el fieldId
de un campo de texto para configurar
un valor para este Field
en una
. Cuando se configura inicialmente una etiqueta Field
en un archivo, esta se aplica a
el archivo. A continuación, puedes desactivar un solo campo o quitar todos los campos asociados con
la etiqueta. Para obtener más información, consulta Anula la configuración de un campo de etiqueta en una
archivo y Quitar una etiqueta de un
.tfvars.
Java
LabelFieldModification fieldModification =
new LabelFieldModification().setFieldId("FIELD_ID").setSetTextValues(ImmutableList.of("VALUE"));
ModifyLabelsRequest modifyLabelsRequest =
new ModifyLabelsRequest()
.setLabelModifications(
ImmutableList.of(
new LabelModification()
.setLabelId("LABEL_ID")
.setFieldModifications(ImmutableList.of(fieldModification))));
ModifyLabelsResponse modifyLabelsResponse = driveService.files().modifyLabels("FILE_ID", modifyLabelsRequest).execute();
Python
field_modification = {'fieldId':'FIELD_ID','setTextValues':['VALUE']}
label_modification = {'labelId':'LABEL_ID', 'fieldModifications':[field_modification]}
modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute()
Node.js
/**
* Set a label with a text field on a Drive file
* @return{obj} updated label data
**/
async function setLabelTextField() {
// Get credentials and build service
// TODO (developer) - Use appropriate auth mechanism for your app
const {GoogleAuth} = require('google-auth-library');
const {google} = require('googleapis');
const auth = new GoogleAuth({scopes: 'https://www.googleapis.com/auth/drive'});
const service = google.drive({version: 'v3', auth});
const fieldModification = {
'fieldId': 'FIELD_ID',
'setTextValues': ['VALUE'],
};
const labelModification = {
'labelId': 'LABEL_ID',
'fieldModifications': [fieldModification],
};
const labelModificationRequest = {
'labelModifications': [labelModification],
};
try {
const updateResponse = await service.files.modifyLabels({
fileId: 'FILE_ID',
resource: labelModificationRequest,
});
return updateResponse;
} catch (err) {
// TODO (developer) - Handle error
throw err;
}
}
Reemplaza lo siguiente:
- FIELD_ID: El
fieldId
del campo que se modificará. Para ubicar elfieldId
, recupera la etiqueta con el API de Google Drive Labels. - VALUE: el
value
nuevo para este campo. - LABEL_ID: El
labelId
de la etiqueta que se modificará. - FILE_ID: El
fileId
del archivo para el que están las etiquetas modificado.
Notas
- Para configurar una etiqueta sin campos, aplica
labelModifications
sin campos.fieldModifications
está presente. - Para establecer valores para las opciones del campo de selección, usa la
Choice
: Es el ID del valor. que puedes obtener si recuperas el esquema de etiquetas en el API de Drive Labels. - Solo un
Field
que admite listas de valores puede tener varios valores establecidos. De lo contrario, recibirás una respuesta de error400: Bad Request
. - Establece el tipo de valor adecuado para el
Field
seleccionado (como número entero, texto, usuario, etc.), de lo contrario, recibirás una respuesta de error400: Bad Request
. Puedes recuperar el tipo de datos de campo con el API de Drive Labels