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

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

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

ModifyLabelsRequest, bir dosyadaki etikette yapılan değişiklik olan LabelModification örneğini içerir. Etiket alanında, etiket alanında yapılan bir değişiklik olan FieldModification örneğini de içerebilir. Alana ait 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 nesne içinde bulunur.

Örnek

Aşağıdaki kod örneğinde, ilişkili fileId üzerindeki alan değerlerinin ayarını kaldırmak için fieldId ve labelId öğelerinin nasıl kullanılacağı gösterilmektedir. Örneğin, bir etiket hem metin hem de kullanıcı alanları içeriyorsa metin alanı ayarlanmadan bırakılırsa metin alanı etiketten kaldırılır ancak kullanıcı alanına dokunulmaz. Bir etiketin kaldırılması, etiketle ilişkili hem metin hem de kullanıcı alanlarının silinmesine neden olur. 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ğeri. fieldId etiketini bulmak için Google Drive Etiketler API'sini 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.