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

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

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

ModifyLabelsRequest, bir dosyadaki etikette yapılan değişiklik olan LabelModification örneği içeriyor. Ayrıca, bir etiketin alanında yapılan değişikliği gösteren bir 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 metni, istek tarafından eklenen veya güncellenen etiketleri içerir. Bunlar, Label türünde bir modifiedLabels nesnesi içinde bulunur.

Örnek

Aşağıdaki kod örneğinde, ilişkili fileId üzerindeki alan değerlerini ayarlamamak için fieldId ve labelId öğelerinin nasıl kullanılacağı gösterilmektedir. Örneğin, bir etikette hem metin hem de kullanıcı alanları varsa metin alanının işaretini kaldırdığınızda bu alan etiketten kaldırılır ancak kullanıcı alanı değiştirilmez. Etiketin kaldırılması ise etiketle ilişkili metin ve kullanıcı alanlarının her ikisini de siler. Daha fazla bilgi için 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. fieldId öğesini bulmak için Google Drive Labels API'yi kullanarak etiketi alın.
  • LABEL_ID: Değiştirilecek etiketin labelId.
  • FILE_ID: Etiketlerin değiştirildiği dosyanın fileId.