Usuwanie ustawienia pola etykiety w pliku

Ta strona zawiera informacje o tym, jak usunąć ustawienie etykiety Field w jednym pliku na Dysku Google.

Aby usunąć metadane z pliku przez usunięcie ustawienia 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 atomowo. Oznacza to, że jeśli któraś z modyfikacji jest nieprawidłowa, cała aktualizacja się nie powiedzie i żadne (potencjalnie zależne) zmiany nie zostaną zastosowane.

Element ModifyLabelsRequest zawiera instancję LabelModification która jest modyfikacją etykiety w pliku. Może też zawierać instancję of FieldModification która jest modyfikacją pola etykiety. Aby usunąć wartości pola, ustaw FieldModification.unsetValues na True.

Jeśli operacja się uda, treść odpowiedzi będzie zawierała etykiety dodane lub zaktualizowane przez żądanie. Znajdują się one w modifiedLabels obiekcie typu Label.

Przykład

Poniższy przykładowy kod pokazuje, jak użyć fieldId i labelId, aby usunąć wartości pól w powiązanym fileId. Jeśli na przykład etykieta zawiera pola tekstowe i pola użytkownika, usunięcie ustawienia pola tekstowego spowoduje usunięcie go z etykiety, ale pole użytkownika pozostanie nienaruszone. Natomiast usunięcie etykiety powoduje usunięcie zarówno pól tekstowych, jak i pól użytkownika powiązanych z etykietą. Więcej informacji znajdziesz w artykule Usuwanie etykiety z pliku.

Java

LabelFieldModification fieldModification = new LabelFieldModification()
    .setFieldId("FIELD_ID")
    .setUnsetValues(true);

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',
    'unsetValues': True
}

label_modification = {
    'labelId': 'LABEL_ID',
    'fieldModifications': [field_modification]
}

modified_labels = drive_service.files().modifyLabels(
    fileId="FILE_ID",
    body={'labelModifications': [label_modification]}
).execute()

Node.js

/**
 * Unset a label with a field on a Drive file
 * @return{obj} updated label data
 **/
async function unsetLabelField() {
  // 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',
    'unsetValues': true,
  };
  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, które chcesz zmodyfikować. Aby znaleźć fieldId, pobierz etykietę za pomocą interfejsu API etykiet w Dysku Google.
  • LABEL_ID: labelId etykiety, którą chcesz zmodyfikować.
  • FILE_ID: fileId pliku, w którym etykiety są modyfikowane.