Questa pagina descrive come impostare un'etichetta
Field su un singolo
file di Google Drive.
Per aggiungere metadati a un file impostando un'etichetta di 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.
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 il fieldId di un campo di testo per impostare
un valore per questo Field su un
file. Quando un Field di etichetta viene impostato inizialmente su un file, l'etichetta viene applicata al file. Puoi quindi annullare l'impostazione di un singolo campo o rimuovere tutti i campi associati all'etichetta. Per ulteriori informazioni, consulta Annullare l'impostazione di un campo di etichetta su un
file e Rimuovere un'etichetta da un
file.
Java
LabelFieldModification fieldModification =
new LabelFieldModification().setFieldId("FIELD_ID").setSetTextValues(ImmutableList.of("VALUE"));
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','setTextValues':['VALUE']}
label_modification = {'labelId':'LABEL_ID', 'fieldModifications':[field_modification]}
modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute()
Node.js
/**
* Set a label with a text field on a Drive file
* @return{obj} updated label data
**/
async function setLabelTextField() {
// 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',
'setTextValues': ['VALUE'],
};
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. - VALUE: il nuovo
valueper questo campo. - LABEL_ID: il
labelIddell'etichetta da modificare. - FILE_ID: il
fileIddel file per il quale vengono modificate le etichette.
Note
- Per impostare un'etichetta senza campi, applica
labelModificationssenzafieldModifications. - Per impostare i valori per le opzioni del campo di selezione, utilizza l'
ChoiceID del valore che puoi ottenere recuperando lo schema dell'etichetta nell' API Drive Labels. - Solo un
Fieldche supporta elenchi di valori può avere più valori impostati. In caso contrario, riceverai una risposta di errore400: Bad Request. - Imposta il tipo di valore corretto per il
Fieldselezionato (ad esempio, numero intero, testo, utente e così via). In caso contrario, riceverai una risposta di errore400: Bad Request. Puoi recuperare il tipo di dati del campo utilizzando l' API Drive Labels.