Usuwanie ustawienia pola etykiety w pliku

Na tej stronie dowiesz się, jak cofnąć ustawienie etykiety Field w pojedynczym pliku na Dysku Google.

Aby usunąć metadane z pliku przez anulowanie ustawienia 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. Aby cofnąć ustawienie wartości pola, ustaw FieldModification.unsetValues na True.

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 za pomocą fieldId i labelId cofnąć ustawienie wartości pól w powiązanym fileId. Jeśli na przykład etykieta zawiera zarówno pola tekstowe, jak i pola użytkownika, to wyłączenie pola tekstowego spowoduje usunięcie go z etykiety, ale pozostawienie pola użytkownika bez zmian. Usunięcie etykiety powoduje natomiast usunięciezarównopola tekstowego, jak i powiązanych z nią pól użytkownika. 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',
      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.
  • LABEL_ID: element labelId etykiety do zmodyfikowania.
  • FILE_ID: element fileId pliku, którego etykiety zostały zmodyfikowane.