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 annullando l'impostazione di un'etichetta del file, utilizza il
files.modifyLabels metodo. Il
corpo della richiesta
contiene un'istanza di
ModifyLabelsRequest
per modificare l'insieme di etichette su un file. La richiesta potrebbe contenere diverse modifiche applicate in modo atomico. Ciò significa che, se una delle modifiche non è valida, l'intero aggiornamento non va a buon fine e non viene applicata nessuna delle modifiche (potenzialmente dipendenti).
Il ModifyLabelsRequest contiene un'istanza di
LabelModification
ovvero una modifica a un'etichetta su un file. Potrebbe contenere anche un'istanza
di
FieldModification
, ovvero una modifica al campo di un'etichetta. Per annullare l'impostazione dei valori del campo, imposta FieldModification.unsetValues su True.
In caso di esito positivo, il corpo
della risposta contiene
le etichette aggiunte o aggiornate dalla richiesta. Queste esistono all'interno di un
modifiedLabels oggetto di tipo Label.
Esempio
Il seguente esempio di codice mostra come utilizzare fieldId e labelId per annullare l'impostazione dei valori dei campi su fileId associato. Ad esempio, se un'etichetta contiene sia campi di testo sia campi utente, l'annullamento dell'impostazione del campo di testo lo rimuove dall'etichetta, ma lascia intatto il campo utente. Al contrario, la rimozione di un'etichetta elimina sia il testo sia i campi utente associati all'etichetta. Per saperne di più, 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
fieldIddel campo da modificare. Per individuare ilfieldId, recupera l'etichetta utilizzando l' API Google Drive Labels. - LABEL_ID: il
labelIddell'etichetta da modificare. - FILE_ID: il
fileIddel file per il quale vengono modificate le etichette.