Ustawienie pola etykiety w pliku

Na tej stronie dowiesz się, jak ustawić etykietę Field na pojedynczym 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 umożliwia modyfikowanie zestawu 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.

ModifyLabelsRequest zawiera instancję LabelModification czyli 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 ustawienia 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',
      requestBody: labelModificationRequest,
    });
    return updateResponse;
  } catch (err) {
    // TODO (developer) - Handle error
    throw err;
  }
}

Zastąp te elementy:

  • FIELD_ID: fieldId pola do zmodyfikowania. Aby znaleźć fieldId, pobierz etykietę za pomocą interfejsu API etykiet w Dysku Google.
  • VALUE: nowa value w tym polu.
  • 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.
  • Wiele wartości może mieć tylko 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 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.