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

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

Dosya etiketini kaldırarak bir dosyadaki meta verileri kaldırmak için files.modifyLabels yöntemini kullanın. İstek metni, bir dosyadaki etiket kümesini değiştirmek için ModifyLabelsRequest öğesinin bir örneğini içerir. İstek, atomik olarak uygulanan birkaç değişiklik içerebilir. Yani, herhangi bir değişiklik geçerli değilse güncellemenin tamamı başarısız olur ve (bağlı olabilecek) değişikliklerin hiçbiri uygulanmaz.

ModifyLabelsRequest, bir dosyanın etiketinde yapılan bir değişiklik olan LabelModification örneği içerir. Ayrıca, etiketin alanında yapılan bir değişiklik olan FieldModification örneği de içerebilir. Alanın değerlerini kaldırmak için FieldModification.unsetValues değerini True olarak ayarlayın.

Başarılı olursa yanıt gövdesi, istek tarafından eklenen veya güncellenen etiketleri içerir. Bunlar, Label türündeki bir modifiedLabels nesnesinde bulunur.

Örnek

Aşağıdaki kod örneğinde, ilişkili fileId üzerindeki alan değerlerinin ayarını kaldırmak için fieldId ve labelId işlevlerinin nasıl kullanılacağı gösterilmektedir. Örneğin, bir etiket hem metin hem de kullanıcı alanları içeriyorsa metin alanının ayarı kaldırılırsa metin etiketten kaldırılır ancak kullanıcı alanına dokunulmaz. Bir etiketi kaldırdığınızda ise etiketle ilişkili metin ve kullanıcı alanları hemen silinir. Daha fazla bilgi için Bir dosyadan etiket kaldırma başlıklı makaleyi inceleyin.

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. fieldId değerini bulmak için Google Drive Labels API'yi kullanarak etiketi alın.
  • LABEL_ID: Değiştirilecek etiketin labelId değeri.
  • FILE_ID: Etiketlerin değiştirildiği dosyanın fileId değeri.