In questa pagina viene descritto come impostare un'etichetta Field
su un singolo file di Google Drive.
Per aggiungere metadati a un file impostando un'etichetta del file, utilizza il metodo files.modifyLabels
. Il corpo della richiesta contiene un'istanza di ModifyLabelsRequest
per modificare il set di etichette in un file. La richiesta potrebbe contenere diverse modifiche
applicate atomicamente. In altre parole, se delle modifiche non sono valide, l'intero aggiornamento non viene eseguito correttamente e non viene applicata nessuna delle modifiche (potenzialmente dipendenti).
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.
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
di un campo di testo per impostare
un valore per Field
in un
file. Quando in un file viene impostata inizialmente un'etichetta Field
, questa la applica al file. Puoi quindi annullare l'impostazione di un singolo campo o rimuovere tutti i campi associati all'etichetta. Per ulteriori informazioni, vedi 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
fieldId
del campo da modificare. Per individuare ilfieldId
, recupera l'etichetta utilizzando l'API Etichette di Google Drive. - VALUE: il nuovo
value
per questo campo. - LABEL_ID:
labelId
dell'etichetta da modificare. - FILE_ID: i valori
fileId
del file per cui vengono modificate le etichette.
Note
- Per impostare un'etichetta senza campi, applica
labelModifications
senzafieldModifications
presente. - Per impostare i valori per le opzioni del campo di selezione, utilizza l'ID
Choice
del valore che puoi ottenere recuperando lo schema delle etichette nell'API Drive Etichette. - Solo un
Field
che supporta elenchi di valori può avere più valori impostati, altrimenti riceverai una risposta di errore400: Bad Request
. - Imposta il tipo di valore corretto per il valore
Field
selezionato (ad es. numero intero, testo, utente e così via), altrimenti riceverai una risposta di errore400: Bad Request
. Puoi recuperare il tipo di dati dei campi utilizzando l'API Drive Etichette.