Dosyada etiket alanı ayarlama

Bu sayfada, tek bir Google Drive dosyasında Field etiketinin nasıl ayarlanacağı açıklanmaktadır.

Dosya etiketi ayarlayarak bir dosyaya meta veri eklemek 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.

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, bir dosyada bu Field için değer ayarlamak üzere metin alanının fieldId özelliğinin nasıl kullanılacağı gösterilmektedir. Bir dosyada ilk kez Field etiketi ayarlandığında bu etiket dosyaya uygulanır. Daha sonra tek bir alanın ayarını kaldırabilir veya bu etiketle ilişkili tüm alanları kaldırabilirsiniz. Daha fazla bilgi için Dosyadaki etiket alanını kaldırma ve Dosyadan etiket kaldırma konularına bakın.

Java

LabelFieldModification fieldModification =
new LabelFieldModification().setFieldId("FIELD_ID").setSetTextValues(ImmutableList.of("VALUE"));

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','setTextValues':['VALUE']}
label_modification = {'labelId':'LABEL_ID', 'fieldModifications':[field_modification]}

modified_labels = drive_service.files().modifyLabels(fileId="FILE_ID", body = {'labelModifications' : [label_modification]}).execute();

Node.js

/**
* Set a label with a text field on a Drive file
* @return{obj} updated label data
**/
async function setLabelTextField() {
  // 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',
    'setTextValues': ['VALUE'],
  };
  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.
  • VALUE: Bu alan için yeni value.
  • LABEL_ID: Değiştirilecek etiketin labelId değeri.
  • FILE_ID: Etiketlerin değiştirildiği dosyanın fileId değeri.

Notlar

  • Alan içermeyen bir etiket ayarlamak için fieldModifications olmadan labelModifications uygulayın.
  • Seçim alanı seçeneklerinin değerlerini ayarlamak için Drive Etiketler API'de etiket şemasını getirerek elde edebileceğiniz değerin Choice kimliğini kullanın.
  • Yalnızca değer listelerini destekleyen bir Field için birden fazla değer ayarlanabilir. Aksi takdirde 400: Bad Request hata yanıtı alırsınız.
  • Seçilen Field için uygun değer türünü (tam sayı, metin, kullanıcı vb.) ayarlayın. Aksi takdirde 400: Bad Request hata yanıtı alırsınız. Alan veri türünü Drive Etiketler API'sini kullanarak alabilirsiniz.