Nach Dateien mit einem bestimmten Label oder Feldwert suchen
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Auf dieser Seite wird beschrieben, wie Sie nach Dateien mit einem bestimmten Label oder Feldwert suchen.
Typen von Labelfeldern
Google Drive-Labelfelder sind stark typisiert. Jeder Typ unterstützt unterschiedliche Indexierungs- und Suchsemantiken. In der folgenden Tabelle sind die verfügbaren Datentypen aufgeführt.
Typ
Optionen für Labeltypen
Unterstützte Suchoperatoren
Text
TextOptions
is null, is not null, =, contains, starts with
Langer Text
LongTextOptions
is null, is not null, contains
Ganzzahl
IntegerOptions
is null, is not null, =, !=, <, >, <=, >=
Datum
DateOptions
is null, is not null, =, !=, <, >, <=, >=
Auswahl
SelectionOptions
is null, is not null, =, !=
Nutzer
UserOptions
is null, is not null, =, !=
Auswahlliste
SelectionOptions (mit max_entries > 1)
is null, is not null, in, not in
Nutzerliste
UserOptions (mit max_entries > 1)
is null, is not null, in, not in
Suchbeispiele
1. Nach dem Vorhandensein eines Labels oder Felds suchen
Sie können nach Elementen suchen, auf die ein bestimmtes Label angewendet wurde (oder nicht):
'labels/contract' in labels
not 'labels/contract' in labels
Sie können auch nach Elementen suchen, bei denen ein bestimmtes Feld festgelegt wurde (oder nicht):
labels/contract.comment IS NOT NULL
labels/contract.comment IS NULL
2. Nach Feldern mit Einzelwerten suchen
Sie können Suchanfragen schreiben, die mit erwarteten Feldwerten übereinstimmen. In der folgenden Tabelle sind die gültigen Feldabfragen aufgeführt:
Was Sie abfragen möchten
Abfragestring
Elemente, bei denen der Kommentar auf „Hallo“ gesetzt ist
labels/contract.comment = 'hello'
Dateien, in denen der Kommentar mit „Hallo“ beginnt
labels/contract.comment STARTS WITH 'hello'
Dateien, in denen der Status ausgeführt wird
labels/contract.status = 'executed'
Dateien, deren Status nicht „Ausgeführt“ ist
labels/contract.status != 'executed'
Dateien, bei denen „execution_date“ vor einem bestimmten Datum liegt
labels/contract.execution_date < '2020-06-22'
Dateien, in denen „value_usd“ (Ganzzahl) kleiner als ein bestimmter Wert ist
labels/contract.value_usd < 2000
Dateien, in denen „client_contact“ auf eine bestimmte E‑Mail-Adresse festgelegt ist
3. Suche basierend auf Feldern mit mehrwertigen Feldern (z. B. ListOptions.max_entries > 1)
Felder, die mehrere Werte unterstützen, können nur mit dem IN-Operator abgefragt werden:
'EMAIL_ADDRESS' IN labels/project.project_leads
NOT 'EMAIL_ADDRESS' IN labels/project.project_leads
Beispiel
Das folgende Codebeispiel zeigt, wie Sie mit einem oder mehreren labelId alle Dateien mit einem bestimmten Label oder Feldwert aus einer Drive-Dateiressource auflisten. Dabei wird auch die Methode files.list verwendet. Der Anfragetext muss leer sein.
Wenn Sie labelInfo in die Antwort aufnehmen möchten, müssen Sie auch Folgendes angeben:
includeLabels als durch Kommas getrennte Liste von IDs.
labelInfo im Parameter fields, um anzugeben, dass labelInfo innerhalb von includeLabels zurückgegeben werden soll.
Bei Erfolg enthält der Antworttext die Liste der Dateien.
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**/asyncfunctionsearchForFileWithLabels(){// Get credentials and build service// TODO (developer) - Use appropriate auth mechanism for your appconst{GoogleAuth}=require('google-auth-library');const{google}=require('googleapis');constauth=newGoogleAuth({scopes:'https://www.googleapis.com/auth/drive'});constservice=google.drive({version:'v3',auth});try{constfileList=awaitservice.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)',});returnfile;}catch(err){// TODO (developer) - Handle errorthrowerr;}
Ersetzen Sie Folgendes:
LABEL_1_ID: Der erste labelId eines zurückzugebenden Labels.
LABEL_2_ID: Das zweite labelId eines zurückzugebenden Labels.
[null,null,["Zuletzt aktualisiert: 2025-08-29 (UTC)."],[],[],null,["# Search for files with a specific label or field value\n\nThis page describes how to search for files with a specific label or field value\napplied.\n\nLabel field types\n-----------------\n\nGoogle Drive label fields are strongly typed with each type supporting\ndifferent indexing and search semantics. The following table shows the available\ndata types.\n\n| Type | Label type options | Supported search operators |\n|----------------|------------------------------------------|--------------------------------------------------|\n| Text | TextOptions | `is null, is not null, =, contains, starts with` |\n| Long Text | LongTextOptions | `is null, is not null, contains` |\n| Integer | IntegerOptions | `is null, is not null, =, !=, \u003c, \u003e, \u003c=, \u003e=` |\n| Date | DateOptions | `is null, is not null, =, !=, \u003c, \u003e, \u003c=, \u003e=` |\n| Selection | SelectionOptions | `is null, is not null, =, !=` |\n| User | UserOptions | `is null, is not null, =, !=` |\n| Selection List | SelectionOptions (with max_entries \\\u003e 1) | `is null, is not null, in, not in` |\n| User List | UserOptions (with max_entries \\\u003e 1) | `is null, is not null, in, not in` |\n\n### Search examples\n\n| **Note:** In the examples below, readable strings are used for clarity. Actual resource names and field IDs must be used instead. For example, `labels/contract.execution_date` might look something like this: `labels/837d7f5de85137b86e52.491d`.\n\n**1. Search based on the presence of a label or field**\n\nYou can search for items where a specific label has (or has not) been applied:\n\n- `'labels/contract' in labels`\n- `not 'labels/contract' in labels`\n\nYou can also search for items where a specific field has (or has not) been set:\n\n- `labels/contract.comment IS NOT NULL`\n- `labels/contract.comment IS NULL`\n\n| **Note:** Searching for files without any fields set returns items that the label has not been applied to. You can combine the queries above to find items where the label is applied, but doesn't contain a value for a specific field: `'labels/contract' in labels AND labels/contract.comment IS NULL`.\n\n**2. Search based on single-valued fields**\n\nYou can write search queries to match expected field values. The following table\nshows the valid field queries:\n\n| What you want to query | Query string |\n|---------------------------------------------------------------|---------------------------------------------------------|\n| Items where comment is set to \"hello\" | `labels/contract.comment = 'hello'` |\n| Files where comment starts with \"hello\" | `labels/contract.comment STARTS WITH 'hello'` |\n| Files where status is executed | `labels/contract.status = 'executed'` |\n| Files where status is not executed | `labels/contract.status != 'executed'` |\n| Files where execution_date is before a specific date | `labels/contract.execution_date \u003c '2020-06-22'` |\n| Files where value_usd (integer) is less than a specific value | `labels/contract.value_usd \u003c 2000` |\n| Files where client_contact is set to a specific email address | `labels/contract.client_contact = 'alex@altostrat.com'` |\n\n**3. Search based on fields with multivalued fields (such as\nListOptions.max_entries \\\u003e 1)**\n\nFields that support multiple values can only be queried using the IN operator:\n\n- `'`\u003cvar translate=\"no\"\u003eEMAIL_ADDRESS\u003c/var\u003e`' IN labels/project.project_leads`\n- `NOT '`\u003cvar translate=\"no\"\u003eEMAIL_ADDRESS\u003c/var\u003e`' IN labels/project.project_leads`\n\nExample\n-------\n\nThe following code sample shows how to use one or more `labelId` to list all\nfiles with a specific label or field value from a Drive [file\nresource](/workspace/drive/labels/reference/rest/v2/labels). It also uses the\n[`files.list`](/workspace/drive/api/v2/reference/files/list) method. The request body must\nbe empty.\n\nIf you want to include `labelInfo` in the response, you also must specify:\n\n- [`includeLabels`](/workspace/drive/api/reference/rest/v2/files/get#query-parameters)\n as a comma-separated list of IDs.\n\n- `labelInfo` in the `fields` parameter to denote that you want the\n `labelInfo` returned within `includeLabels`.\n\nIf successful, the [response\nbody](/workspace/drive/api/reference/rest/v3/files/list#response-body) contains the list\nof files. \n\n### Java\n\n List\u003cFile\u003e fileList = driveService.files().list().setIncludeLabels(\"\u003cvar translate=\"no\"\u003eLABEL_1_ID\u003c/var\u003e,\u003cvar translate=\"no\"\u003eLABEL_2_ID\u003c/var\u003e\").setFields(\"items(labelInfo, id)\").setQ(\"'labels/\u003cvar translate=\"no\"\u003eLABEL_1_ID\u003c/var\u003e' in labels and 'labels/\u003cvar translate=\"no\"\u003eLABEL_2_ID\u003c/var\u003e' in labels\").execute().getItems();\n\n### Python\n\n file_list = drive_service.files().list(includeLabels=\"\u003cvar translate=\"no\"\u003eLABEL_1_ID\u003c/var\u003e,\u003cvar translate=\"no\"\u003eLABEL_2_ID\u003c/var\u003e\", q=\"'labels/\u003cvar translate=\"no\"\u003eLABEL_1_ID\u003c/var\u003e' in labels and 'labels/\u003cvar translate=\"no\"\u003eLABEL_2_ID\u003c/var\u003e' in labels\", fields=\"items(labelInfo, id)\").execute();\n\n### Node.js\n\n /**\n * Search for Drive files with specific labels\n * @return{obj} file list with labelInfo\n **/\n async function searchForFileWithLabels() {\n // Get credentials and build service\n // TODO (developer) - Use appropriate auth mechanism for your app\n\n const {GoogleAuth} = require('google-auth-library');\n const {google} = require('googleapis');\n\n const auth = new GoogleAuth({scopes: 'https://www.googleapis.com/auth/drive'});\n const service = google.drive({version: 'v3', auth});\n try {\n const fileList = await service.files.list({\n includeLabels: '\u003cvar translate=\"no\"\u003eLABEL_1_ID\u003c/var\u003e,\u003cvar translate=\"no\"\u003eLABEL_2_ID\u003c/var\u003e',\n q: '\\'labels/\u003cvar translate=\"no\"\u003eLABEL_1_ID\u003c/var\u003e\\' in labels and \\'labels/\u003cvar translate=\"no\"\u003eLABEL_2_ID\u003c/var\u003e\\' in labels',\n fields:'files(labelInfo, id)',\n });\n return file;\n } catch (err) {\n // TODO (developer) - Handle error\n throw err;\n }\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eLABEL_1_ID\u003c/var\u003e: The first `labelId` of a label to return.\n- \u003cvar translate=\"no\"\u003eLABEL_2_ID\u003c/var\u003e: The second `labelId` of a label to return."]]