Dosyada etiket alanı ayarlama

Bu sayfada, etiketlerin nasıl ayarlanacağı açıklanmaktadır. Tek bir cihazda Field Google Drive dosyası.

Dosya etiketi ayarlayarak bir dosyaya meta veri eklemek için files.modifyLabels yöntemini kullanabilirsiniz. İlgili içeriği oluşturmak için kullanılan istek gövdesi şunun bir örneğini içerir: ModifyLabelsRequest kullanarak dosyadaki etiket grubunu değiştirebilirsiniz. Bu istek birkaç atomik olarak uygulanan modifikasyonlardır. Yani herhangi bir değişiklik güncellemenin tamamı başarısız olur ve (potansiyel olarak (bağlı olarak) nasıl uygulanır?

ModifyLabelsRequest, LabelModification Bu, dosyadaki bir etikette yapılan değişikliktir. Örnek içeriyor olabilir / FieldModification Bu, etiket alanında yapılan bir değişikliktir.

Başarılı olursa yanıt gövde içerir istek tarafından eklenen veya güncellenen etiketler. Bunlar, Label türündeki modifiedLabels nesnesi.

Örnek

Aşağıdaki kod örneğinde, ayarlamak istediğiniz metin alanının fieldId nasıl kullanılacağı gösterilmektedir bu Field için bir değere dosyası olarak kaydedebilirsiniz. Bir dosyada Field etiketi ilk kez ayarlandığında etiketi şunlara uygular: seçin. Daha sonra tek bir alanın ayarını kaldırabilir veya etiketi ekler. Daha fazla bilgi için dosyası ve Bir etiketi dosyası olduğundan emin olun.

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. Yerini bulmak için fieldId etiketi kullanıyorsanız Google Drive Etiketler API'si.
  • VALUE: Bu alan için yeni value.
  • LABEL_ID: Değiştirilecek etiketin labelId değeri.
  • FILE_ID: Etiketlerin bulunduğu dosyanın fileId değeri değiştirildi.

Notlar

  • Alan içermeyen bir etiket ayarlamak için içermeyen labelModifications öğesini uygulayın fieldModifications mevcut.
  • Seçim alanı seçeneklerinin değerlerini belirlemek için Değerin Choice kimliği Drive Etiketler API.
  • Yalnızca değer listelerini destekleyen bir Field için birden fazla değer ayarlanmış olabilir. Aksi takdirde 400: Bad Request hata yanıtı alırsınız.
  • Seçilen Field için uygun değer türünü (ör. tam sayı, metin, kullanıcı vb.) içermez. Aksi takdirde 400: Bad Request hata yanıtı alırsınız. Alan veri türünü şunu kullanarak alabilirsiniz: Drive Etiketler API'si.