Questa pagina descrive come rimuovere un'etichetta
Field
da 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 l'insieme di etichette di un file. La richiesta potrebbe contenere diverse modifiche applicate in modo atomico. ovvero, se una modifica non è
valida, l'intero aggiornamento non va a buon fine e nessuna delle modifiche (potenzialmente
dipendenti) viene applicata.
ModifyLabelsRequest
contiene un'istanza di
LabelModification
che è una modifica a un'etichetta su 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. Questi esistono all'interno di un oggetto modifiedLabels
di tipo Label
.
Esempio
Il seguente esempio di codice mostra come utilizzare fieldId
e labelId
per annullare
i valori dei campi nell'fileId
associato. Ad esempio, se un'etichetta contiene
sia campi di testo che campi utente, la deselezione del campo di testo lo rimuove dall'etichetta
ma lascia intatto il campo utente. La rimozione di un'etichetta elimina sia il testo sia i campi utente associati all'etichetta. Per saperne di più, vedi
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 Google Drive Labels. - LABEL_ID: il
labelId
dell'etichetta da modificare. - FILE_ID: Il
fileId
del file per cui le etichette sono modificate.