Dosyada bir etiket alanının ayarını kaldırma

Bu sayfada, bir etiketin nasıl kaldırılacağı açıklanmaktadır. Tek bir cihazda Field Google Drive dosyası.

Bir dosya etiketinin ayarını geri alarak dosyadaki meta verileri kaldırmak için files.modifyLabels yöntemini kullanabilirsiniz. İlgili içeriği oluşturmak için kullanılan istek gövdesi şunun bir örneğini içerir: ModifyLabelsRequest kullanarak dosyadaki etiket grubunu değiştirebilirsiniz. Bu istek birkaç atomik olarak uygulanan modifikasyonlardır. Yani herhangi bir değişiklik güncellemenin tamamı başarısız olur ve (potansiyel olarak (bağlı olarak) nasıl uygulanır?

ModifyLabelsRequest, LabelModification Bu, dosyadaki bir etikette yapılan değişikliktir. Örnek içeriyor olabilir / FieldModification Bu, etiket alanında yapılan bir değişikliktir. Alanın değerleri ayarını kaldırmak için: FieldModification.unsetValues değerini True olarak ayarla.

Başarılı olursa yanıt gövde içerir istek tarafından eklenen veya güncellenen etiketler. Bunlar, Label türündeki modifiedLabels nesnesi.

Örnek

Aşağıdaki kod örneğinde, fieldId ve labelId ayarlarının nasıl ayarlanacağı gösterilmektedir ilişkili fileId üzerindeki alan değerleridir. Örneğin, bir etiket metin ve kullanıcı alanlarını seçmezseniz, metin alanı ayarlanmadan bırakılırsa metin alanı etiketten kaldırılır ancak kullanıcı alanını dokunulmaz. Bir etiketin kaldırılması, etiketin her ikisini de metin ve kullanıcı alanları görüntülenebilir. Daha fazla bilgi için bkz. Dosyadan etiket kaldırma.

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;
  }
}

Aşağıdakini değiştirin:

  • FIELD_ID: Değiştirilecek alanın fieldId değeri. Yerini bulmak için fieldId etiketi kullanıyorsanız Google Drive Etiketler API'si.
  • LABEL_ID: Değiştirilecek etiketin labelId değeri.
  • FILE_ID: Etiketlerin bulunduğu dosyanın fileId değeri değiştirildi.