Belirli bir etiket veya alan değeri olan dosyaları arayın

Bu sayfada, belirli bir etikete veya alan değerine sahip dosyaların nasıl aranacağı açıklanmaktadır. geçerlidir.

Etiket alanı türleri

Google Drive etiket alanları, destekleyen her tür için kesin bir şekilde yazılır. dizine ekleme ve arama gibi farklı anlamlara gelebilir. Aşağıdaki tabloda, kampanyalarınızda veri türlerini analiz edeceksiniz.

Tür Etiket türü seçenekleri Desteklenen arama operatörleri
Metin TextOptions is null, is not null, =, contains, starts with
Uzun Metin LongTextOptions is null, is not null, contains
Tamsayı IntegerOptions is null, is not null, =, !=, <, >, <=, >=
Tarih DateOptions is null, is not null, =, !=, <, >, <=, >=
Seçim SelectionOptions is null, is not null, =, !=
Kullanıcı UserOptions is null, is not null, =, !=
Seçim Listesi Seçim Seçenekleri (max_entries > 1 ile) is null, is not null, in, not in
Kullanıcı Listesi UserOptions (max_entries > 1 ile) is null, is not null, in, not in

1. Etiket veya alan varlığına göre arama yapın

Belirli bir etiketin uygulandığı (veya uygulanmadığı) öğeleri arayabilirsiniz:

  • 'labels/contract' in labels
  • not 'labels/contract' in labels

Ayrıca, belirli bir alanın ayarlandığı (veya ayarlanmamış) olduğu öğeleri de arayabilirsiniz:

  • labels/contract.comment IS NOT NULL
  • labels/contract.comment IS NULL
ziyaret edin.

2. Tek değerli alanlara göre arama yapın

Beklenen alan değerleriyle eşleşecek arama sorguları yazabilirsiniz. Aşağıdaki tablo geçerli alan sorgularını gösterir:

Sorgulamak istediğiniz şey Sorgu dizesi
Yorumun "merhaba" olarak ayarlandığı öğeler labels/contract.comment = 'hello'
Yorumun "hello" ile başladığı dosyalar labels/contract.comment STARTS WITH 'hello'
Durumun yürütüldüğü dosyalar labels/contract.status = 'executed'
Durumun yürütülmediği dosyalar labels/contract.status != 'executed'
yürütme_tarihi belirli bir tarihten önce olan dosyalar labels/contract.execution_date < '2020-06-22'
value_usd (tam sayı) değerinin belirli bir değerden küçük olduğu dosyalar labels/contract.value_usd < 2000
client_contact'ın belirli bir e-posta adresi olarak ayarlandığı dosyalar labels/contract.client_contact = 'alex@altostrat.com'

3. Birden çok değerli alanlara sahip alanlara göre arama yapın (ör. ListOptions.max_entries > 1)

Birden çok değeri destekleyen alanlar yalnızca IN operatörü kullanılarak sorgulanabilir:

  • 'EMAIL_ADDRESS' IN labels/project.project_leads
  • NOT 'EMAIL_ADDRESS' IN labels/project.project_leads

Örnek

Aşağıdaki kod örneğinde, tüm reklam öğelerini listelemek için bir veya daha fazla labelId Bir Drive dosyasından belirli bir etikete veya alan değerine sahip dosyalar bakın. Ayrıca files.list yöntemini kullanabilirsiniz. İsteğin gövdesinde boş olmalıdır.

Yanıta labelInfo öğesini dahil etmek istiyorsanız aşağıdakileri de belirtmeniz gerekir:

  • includeLabels kimliklerin virgülle ayrılmış listesi olarak gösterilir.

  • fields parametresindeki labelInfo değeri, labelInfo, includeLabels içinde iade edildi.

Başarılı olursa yanıt body, listeyi içerir sağlayabilir.

Java

List<File> fileList = driveService.files().list().setIncludeLabels("LABEL_1_ID,LABEL_2_ID").setFields("items(labelInfo, id)").setQ("'labels/LABEL_1_ID' in labels and 'labels/LABEL_2_ID' in labels").execute().getItems();

Python

file_list = drive_service.files().list(includeLabels="LABEL_1_ID,LABEL_2_ID", q="'labels/LABEL_1_ID' in labels and 'labels/LABEL_2_ID' in labels", fields="items(labelInfo, id)").execute();

Node.js

/**
* Search for Drive files with specific labels
* @return{obj} file list with labelInfo
**/
async function searchForFileWithLabels() {
  // 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});
  try {
    const fileList = await service.files.list({
      includeLabels: 'LABEL_1_ID,LABEL_2_ID',
      q: '\'labels/LABEL_1_ID\' in labels and \'labels/LABEL_2_ID\' in labels',
      fields:'files(labelInfo, id)',
    });
    return file;
  } catch (err) {
    // TODO (developer) - Handle error
    throw err;
  }

Aşağıdakini değiştirin:

  • LABEL_1_ID: Döndürülecek etiketin ilk labelId değeri.
  • LABEL_2_ID: Döndürülecek etiketin ikinci labelId öğesi.