Ustawienie pola etykiety w pliku

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

Aby dodać metadane do pliku przez ustawienie etykiety pliku, użyj metody files.modifyLabels. Treść żądania zawiera instancję elementu ModifyLabelsRequest, aby zmodyfikować zestaw etykiet w pliku. Żądanie może zawierać kilka modyfikacji, które są stosowane niepodzielnie. Oznacza to, że jeśli jakiekolwiek modyfikacje są nieprawidłowe, cała aktualizacja się nie powiedzie i żadne zmiany (potencjalnie zależne) nie zostaną zastosowane.

Element ModifyLabelsRequest zawiera instancję LabelModification, która jest modyfikacją etykiety w pliku. Może też zawierać instancję FieldModification, która jest modyfikacją 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ć fieldId pola tekstowego, aby ustawić wartość tego Field w pliku. Gdy etykieta Field zostanie początkowo ustawiona w pliku, zostanie zastosowana do tego 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 pola 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: fieldId pola do zmodyfikowania. Aby znaleźć fieldId, pobierz etykietę za pomocą interfejsu API etykiet w Dysku Google.
  • VALUE: nowa value dla tego pola.
  • LABEL_ID: labelId etykiety do zmodyfikowania.
  • FILE_ID: fileId pliku, w którym zmodyfikowano etykiety.

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órą możesz uzyskać, pobierając schemat etykiety w interfejsie Drive Labels API.
  • Tylko Field, które obsługują listy wartości, mogą mieć ustawionych wiele wartości. W przeciwnym razie otrzymasz odpowiedź z błędem 400: Bad Request.
  • Ustaw odpowiedni typ wartości dla wybranego parametru Field (np. liczba całkowita, tekst, użytkownik itp.). W przeciwnym razie otrzymasz odpowiedź o błędzie 400: Bad Request. Typ danych pola możesz pobrać za pomocą interfejsu Drive Labels API.