Impostare un campo etichetta su un file

In questa pagina viene descritto come impostare un'etichetta Field su una singola File di Google Drive.

Per aggiungere metadati a un file impostando un'etichetta del file, utilizza la classe 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.

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 il valore fieldId di un campo di testo per impostare un valore per Field su una . Quando in un file viene impostata inizialmente un'etichetta Field, la viene applicata a del file. Puoi quindi annullare l'impostazione di un singolo campo o rimuovere tutti i campi associati a l'etichetta. Per ulteriori informazioni, consulta la sezione Annullare l'impostazione di un campo etichetta in una file e Rimuovi 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 fieldId, recupera l'etichetta utilizzando API Google Drive Etichette.
  • VALUE: il nuovo value per questo campo.
  • LABEL_ID: labelId dell'etichetta da modificare.
  • FILE_ID: i valori fileId del file per cui si trovano le etichette modificato.

Note

  • Per impostare un'etichetta senza campi, applica labelModifications senza fieldModifications presenti.
  • Per impostare i valori per le opzioni del campo di selezione, utilizza il Choice ID del valore che puoi ottenere recuperando lo schema delle etichette API Drive Labels.
  • Solo un Field che supporta elenchi di valori può avere più valori impostati, altrimenti riceverai una risposta di errore 400: 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 errore 400: Bad Request. Puoi recuperare il tipo di dati dei campi utilizzando il metodo API Drive Etichette.