Ustawienie pola etykiety w pliku

Na tej stronie dowiesz się, 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 służącą do modyfikowania zestawu etykiet w pliku. Żądanie może zawierać kilka modyfikacji, które są stosowane atomowo. Oznacza to, że jeśli jakieś modyfikacje są nieprawidłowe, cała aktualizacja się nie powiedzie i nie zostaną zastosowane żadne (potencjalnie zależne) zmiany.

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

Jeśli operacja się uda, 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 do ustawienia wartości dla tego elementu Field w pliku. Gdy w pliku zostanie początkowo ustawiona etykieta Field, zostanie ona zastosowana do pliku. Następnie możesz cofnąć ustawienie pojedynczego pola lub usunąć wszystkie pola powiązane z etykietą. Więcej informacji znajdziesz w artykułach Usuwanie etykiety z 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: pole fieldId do zmodyfikowania. Aby znaleźć fieldId, pobierz etykietę za pomocą interfejsu Google Drive Etykiety API.
  • VALUE: nowa wartość value dla tego pola.
  • LABEL_ID: element labelId etykiety do zmodyfikowania.
  • FILE_ID: element fileId pliku, którego etykiety zostały zmodyfikowane.

Notatki

  • Aby ustawić etykietę bez pól, zastosuj zasadę labelModifications bez wartości fieldModifications.
  • Aby ustawić wartości opcji pola wyboru, użyj identyfikatora Choice wartości, którą można pobrać po pobraniu schematu etykiety z interfejsu Drive Etykiety API.
  • Tylko obiekt Field, który obsługuje listy wartości, może mieć ustawionych kilka wartości. W przeciwnym razie otrzymasz odpowiedź o błędzie 400: Bad Request.
  • Ustaw odpowiedni typ wartości wybranego pola Field (np. liczbę całkowitą, tekst, użytkownika itp.). W przeciwnym razie otrzymasz odpowiedź o błędzie 400: Bad Request. Typ danych pola możesz pobrać za pomocą interfejsu Drive Dimensions API.