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 |
Arama örnekleri
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
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
parametresindekilabelInfo
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.