Advanced Drive Labels Service Stay organized with collections Save and categorize content based on your preferences.
Page Summary
The Google Drive Labels advanced service in Apps Script allows you to create and manage labels for Drive files and folders.
This service uses the Drive Labels API, and you must turn on this advanced service before use.
You can use the Advanced Drive Service to apply or remove Drive labels.
The documentation for the Google Drive Labels API serves as a reference for this service.
Sample code is provided to demonstrate listing labels, getting a specific label, and listing labels applied to a Drive item.
Create and manage labels for your Drive files and folders with the Google DriveLabels advanced service. With this advanced service, you can use all thefeatures of theDrive Labels API in Apps Script.
To apply or remove Drive labels, use theAdvanced Drive Service.
Note: This is an advanced service that you mustturn on before use.Reference
For more information about this service, see the documentation for theGoogle Drive Labels API. Like all advancedservices in Apps Script, the Drive Labels API service uses the same objects,methods, and parameters as the public API.
To report issues and find other support, see the Google Drive Labels APIsupport guide.
Sample code
The sample code below usesversion 2 of theAPI.
List labels
The following code sample shows how to get a list of labels available to theuser making the request.
/** * List labels available to the user. */functionlistLabels(){letpageToken=null;letlabels=[];do{try{constresponse=DriveLabels.Labels.list({publishedOnly:true,pageToken:pageToken,});pageToken=response.nextPageToken;labels=labels.concat(response.labels);}catch(err){// TODO (developer) - Handle exceptionconsole.log("Failed to list labels with error %s",err.message);}}while(pageToken!=null);console.log("Found %d labels",labels.length);}
Get a label
The following code sample shows how to get a single label by itsresource name (which is the string value of the label). To find the label name, get the listof labels through the API or use the Drive labels manager. For more informationon the labels manager, go toManage Drive labels.
/** * Get a label by name. * @param {string} labelName The label name. */functiongetLabel(labelName){try{constlabel=DriveLabels.Labels.get(labelName,{view:"LABEL_VIEW_FULL",});consttitle=label.properties.title;constfieldsLength=label.fields.length;console.log(`Fetched label with title: '${title}' and${fieldsLength} fields.`,);}catch(err){// TODO (developer) - Handle exceptionconsole.log("Failed to get label with error %s",err.message);}}
List labels for a Drive item
The following code sample shows how to get a Drive item and list all labelsapplied to that item.
/** * List Labels on a Drive Item * Fetches a Drive Item and prints all applied values along with their to their * human-readable names. * * @param {string} fileId The Drive File ID */functionlistLabelsOnDriveItem(fileId){try{constappliedLabels=Drive.Files.listLabels(fileId);console.log("%d label(s) are applied to this file",appliedLabels.labels.length,);for(constappliedLabelofappliedLabels.labels){// Resource name of the label at the applied revision.constlabelName=`labels/${appliedLabel.id}@${appliedLabel.revisionId}`;console.log("Fetching Label: %s",labelName);constlabel=DriveLabels.Labels.get(labelName,{view:"LABEL_VIEW_FULL",});console.log("Label Title: %s",label.properties.title);for(constfieldIdofObject.keys(appliedLabel.fields)){constfieldValue=appliedLabel.fields[fieldId];constfield=label.fields.find((f)=>f.id===fieldId);console.log(`Field ID:${field.id}, Display Name:${field.properties.displayName}`,);switch(fieldValue.valueType){case"text":console.log("Text: %s",fieldValue.text[0]);break;case"integer":console.log("Integer: %d",fieldValue.integer[0]);break;case"dateString":console.log("Date: %s",fieldValue.dateString[0]);break;case"user":{constuser=fieldValue.user.map((user)=>{return`${user.emailAddress}:${user.displayName}`;}).join(", ");console.log(`User:${user}`);break;}case"selection":{constchoices=fieldValue.selection.map((choiceId)=>{returnfield.selectionOptions.choices.find((choice)=>choice.id===choiceId,);});constselection=choices.map((choice)=>{return`${choice.id}:${choice.properties.displayName}`;}).join(", ");console.log(`Selection:${selection}`);break;}default:console.log("Unknown: %s",fieldValue.valueType);console.log(fieldValue.value);}}}}catch(err){// TODO (developer) - Handle exceptionconsole.log("Failed with error %s",err.message);}}
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2025-12-11 UTC.