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 configurando una etiqueta de archivo, usa el
files.modifyLabels método. El
cuerpo de la solicitud
contiene una instancia de
ModifyLabelsRequest
para modificar el conjunto de etiquetas en un archivo. La solicitud puede contener varias modificaciones que se aplican de forma atómica. Es decir, si alguna modificación no es válida, la actualización completa no se realiza correctamente y no se aplica ninguno de los cambios (potencialmente dependientes).
El ModifyLabelsRequest contiene una instancia de
LabelModification
que es una modificación de una etiqueta en un archivo. También puede contener una instancia
de
FieldModification
que es una modificación del campo de una etiqueta.
Si se realiza correctamente, el cuerpo
de la respuesta contiene
las etiquetas agregadas o actualizadas por la solicitud. Estas existen dentro de un
modifiedLabels objeto de tipo Label.
Ejemplo
En la siguiente muestra de código, se muestra cómo usar el fieldId de un campo de texto para establecer
un valor para este Field en un
archivo. Cuando se establece inicialmente una etiqueta Field en un archivo, se aplica la etiqueta al archivo. Luego, puedes anular la configuración de 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 un
archivo y Quita una etiqueta de un
archivo.
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: Es el
fieldIddel campo que se modificará. Para ubicar elfieldId, recupera la etiqueta con la API de Google Drive Labels. - VALUE: Es el nuevo
valuepara este campo. - LABEL_ID: Es el
labelIdde la etiqueta que se modificará. - FILE_ID: Es el
fileIddel archivo para el que se modifican las etiquetas.
Notas
- Para establecer una etiqueta sin campos, aplica
labelModificationssinfieldModificationspresentes. - Para establecer valores para las opciones del campo de selección, usa el
ChoiceID del valor que puedes obtener recuperando el esquema de etiquetas en la API de Drive Labels. - Solo un
Fieldque 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
Fieldseleccionado (como número entero, texto, usuario, etcétera). De lo contrario, recibirás una respuesta de error400: Bad Request. Puedes recuperar el tipo de datos del campo con la API de Drive Labels.