In questa pagina viene descritto come annullare l'impostazione di un'etichetta
Field
su una singola
File di Google Drive.
Per rimuovere i metadati da un file annullando l'impostazione dell'etichetta di un file, utilizza la
files.modifyLabels
. La
corpo della richiesta
contiene un'istanza di
ModifyLabelsRequest
:
per modificare l'insieme di etichette in un file. La richiesta può contenere diversi
modifiche applicate a livello atomico. Vale a dire se eventuali modifiche non
valida, l'intero aggiornamento non andrà a buon fine e nessuno dei problemi (potenzialmente
dipendenti) vengono applicate.
ModifyLabelsRequest
contiene un'istanza di
LabelModification
ovvero la modifica di un'etichetta in un file. Potrebbe anche contenere un'istanza
di
FieldModification
ovvero una modifica al campo di un'etichetta. Per annullare l'impostazione dei valori per il campo,
imposta FieldModification.unsetValues
su True
.
Se l'esito è positivo, la risposta
body contiene
le etichette aggiunte o aggiornate dalla richiesta. Questi si trovano all'interno di
Oggetto modifiedLabels
di tipo Label
.
Esempio
Il seguente esempio di codice mostra come utilizzare fieldId
e labelId
per annullare l'impostazione
i valori dei campi nell'elemento fileId
associato. Ad esempio, se un'etichetta contiene
campi di testo e utente; se annulli il campo di testo, questo viene rimosso dall'etichetta
ma lascia invariato il campo utente. La rimozione di un'etichetta, invece, elimina entrambi i
campi utente e di testo associati all'etichetta. Per ulteriori informazioni, 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 individuarefieldId
, recupera l'etichetta utilizzando API Google Drive Etichette. - LABEL_ID:
labelId
dell'etichetta da modificare. - FILE_ID: i valori
fileId
del file per cui si trovano le etichette modificato.