Questa pagina descrive come annullare l'impostazione di un'etichetta
Field
su un singolo
file di Google Drive.
Per rimuovere i metadati da un file disattivando un'etichetta, utilizza il metodo
files.modifyLabels
. Il
corpo della richiesta
contiene un'istanza di
ModifyLabelsRequest
per modificare l'insieme di etichette in un file. La richiesta potrebbe contenere diverse modifiche applicate in modo atomico. In altre parole, se le modifiche non sono valide, 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 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
del valore del campo nell'elemento fileId
associato. Ad esempio, se un'etichetta contiene sia campi di testo che campi utente, la disattivazione del campo di testo lo rimuove dall'etichetta, ma lascia invariato il campo utente. La rimozione di un'etichetta, invece, elimina entrambi il testo e 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 trovarefieldId
, 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 vengono modificate le etichette.