Ustawienie pola etykiety w pliku

Na tej stronie znajdziesz informacje o tym, jak ustawić etykietę Field dla pojedynczego pliku na Dysku Google.

Aby dodać metadane do pliku przez ustawienie etykiety pliku, użyj metody files.modifyLabels. Treść żądania zawiera instancję ModifyLabelsRequest, która służy do modyfikowania zestawu etykiet w pliku. Żądanie może zawierać kilka modyfikacji, które są stosowane w całości. Oznacza to, że jeśli jakiekolwiek modyfikacje nie są prawidłowe, cała aktualizacja kończy się niepowodzeniem i żadne z (potencjalnie zależnych) zmian nie są stosowane.

Plik ModifyLabelsRequest zawiera instancję LabelModification, która jest modyfikacją etykiety pliku. Może też zawierać instancjęFieldModification, która jest modyfikacją pola etykiety.

W przypadku powodzenia treść odpowiedzi będzie zawierać etykiety dodane lub zaktualizowane przez żądanie. Znajdują się one w obiekcie modifiedLabels typu Label.

Przykład

Poniższy przykładowy kod pokazuje, jak użyć pola tekstowego fieldId, aby ustawić wartość Field w pliku. Gdy etykieta Field jest początkowo ustawiona w pliku, jest ona stosowana do pliku. Możesz wtedy zresetować pojedyncze pole lub usunąć wszystkie pola powiązane z etykietą. Więcej informacji znajdziesz w artykułach Resetowanie pola etykiety w pliku i Usuwanie etykiety z pliku.

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;
  }
}

Zastąp następujące elementy:

  • FIELD_ID: fieldId pola, które chcesz zmodyfikować. Aby znaleźć fieldId, pobierz etykietę za pomocą interfejsu API etykiet w Dysku Google.
  • VALUE: nowa value dla tego pola.
  • LABEL_ID: labelId etykiety, którą chcesz zmodyfikować.
  • FILE_ID: fileId pliku, którego etykiety są modyfikowane.

Uwagi

  • Aby ustawić etykietę bez pól, zastosuj labelModifications bez obecności fieldModifications.
  • Aby ustawić wartości opcji pola wyboru, użyj identyfikatora Choice wartości, który możesz pobrać, pobierając schemat etykiety w interfejsie Drive Labels API.
  • Wiele wartości może mieć tylko element Field, który obsługuje listy wartości. W przeciwnym razie otrzymasz odpowiedź z błędem 400: Bad Request.
  • Ustaw odpowiedni typ wartości dla wybranego Field (np. liczba całkowita, tekst, użytkownik itp.). W przeciwnym razie otrzymasz odpowiedź z błędem 400: Bad Request. Typ danych pola możesz pobrać za pomocą interfejsu Drive Labels API.