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

Bu sayfada, tek bir Google Drive dosyasındaki Field etiketinin ayarının nasıl kaldırılacağı açıklanmaktadır.

Dosya etiketi ayarını kaldırarak dosyadan meta verileri kaldırmak için files.modifyLabels yöntemini kullanın. İstek gövdesi, bir dosyadaki etiket grubunu değiştirmek için ModifyLabelsRequest öğesinin bir örneğini içerir. İstek, anatomik olarak uygulanan çeşitli değişiklikler içerebilir. Diğer bir deyişle, geçerli olmayan değişiklikler varsa güncellemenin tamamı başarısız olur ve (muhtemelen bağımlı olabilecek) değişikliklerin hiçbiri uygulanmaz.

ModifyLabelsRequest, bir dosyadaki etikette yapılan değişiklik olan LabelModification örneğini içerir. Ayrıca, bir etiketin alanında yapılan değişiklik olan FieldModification örneğini de içerebilir. Alandaki değerleri 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 nesnesi içinde bulunur.

Örnek

Aşağıdaki kod örneğinde, ilişkilendirilen fileId öğesinde alan değerlerinin ayarını kaldırmak için fieldId ve labelId değerlerinin nasıl kullanılacağı gösterilmektedir. Örneğin, bir etiket hem metin hem de kullanıcı alanı içeriyorsa metin alanının ayarlanması kaldırıldığında etiketten kaldırılır ancak kullanıcı alanına dokunulmaz. Öte yandan, bir etiket kaldırıldığında etiketle ilişkili metin ve kullanıcı alanları silinir. Daha fazla bilgi için Dosyadan etiket kaldırma bölümüne bakın.

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