In questa pagina viene descritto come annullare l'impostazione di un'etichetta Field
in un singolo file di Google Drive.
Per rimuovere i metadati da un file annullando l'impostazione di un'etichetta di file, utilizza il
metodo files.modifyLabels
. Il corpo della richiesta contiene un'istanza di ModifyLabelsRequest
per modificare il set di etichette in un file. La richiesta potrebbe contenere diverse modifiche
applicate atomicamente. In altre parole, se delle modifiche non sono valide, l'intero aggiornamento non viene eseguito correttamente e non viene applicata nessuna delle modifiche (potenzialmente dipendenti).
ModifyLabelsRequest
contiene un'istanza di
LabelModification
che è una modifica a un'etichetta in un file. Potrebbe anche contenere un'istanza di FieldModification
, che è una modifica al campo di un'etichetta. Per annullare l'impostazione dei valori per il campo,
imposta FieldModification.unsetValues
su True
.
In caso di esito positivo, il corpo della risposta contiene le etichette aggiunte o aggiornate dalla richiesta. Esistono all'interno di un
oggetto modifiedLabels
di tipo Label
.
Esempio
Il seguente esempio di codice mostra come utilizzare fieldId
e labelId
per annullare l'impostazione
dei valori dei campi nell'elemento fileId
associato. Ad esempio, se un'etichetta contiene sia campi di testo che campi utente, l'annullamento dell'impostazione del campo di testo ne comporta la rimozione dall'etichetta, ma lascia invariato il campo utente. La rimozione di un'etichetta, invece, elimina entrambi i campi di testo e utente associati all'etichetta. Per ulteriori informazioni, consulta Rimuovere un'etichetta da un file.
Java
LabelFieldModification fieldModification =
new LabelFieldModification().setFieldId("FIELD_ID").setUnsetValues(true);
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','unsetValues':True}
label_modification = {'labelId':'LABEL_ID', 'fieldModifications':[field_modification]}
modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute();
Node.js
/**
* Unset a label with a field on a Drive file
* @return{obj} updated label data
**/
async function unsetLabelField() {
// 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',
'unsetValues': True,
};
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;
}
}
Sostituisci quanto segue:
- FIELD_ID: il
fieldId
del campo da modificare. Per individuare ilfieldId
, recupera l'etichetta utilizzando l'API Etichette di Google Drive. - LABEL_ID:
labelId
dell'etichetta da modificare. - FILE_ID: i valori
fileId
del file per cui vengono modificate le etichette.