Stay organized with collections
Save and categorize content based on your preferences.
The Display & Video 360 (DV360) service lets you use the
DV360 API
in Apps Script. This API provides programmatic access to the Display & Video API.
Reference
For detailed information on this service, see the
reference documentation for the
DV360 API. Like all advanced services in Apps
Script, the DV360 service uses the same objects, methods, and
parameters as the public API. For more information, see How method signatures are determined.
/** * Logs all of the partners available in the account. */functionlistPartners(){// Retrieve the list of available partnerstry{constpartners=DisplayVideo.Partners.list();if(partners.partners){// Print out the ID and name of eachfor(leti=0;i < partners.partners.length;i++){constpartner=partners.partners[i];console.log('Found partner with ID %s and name "%s".',partner.partnerId,partner.displayName);}}}catch(e){// TODO (Developer) - Handle exceptionconsole.log('Failed with error: %s',e.error);}}
Get a list of active campaigns
This sample logs names and IDs of all active campaigns. Note the use of
paging tokens to retrieve the whole list.
/** * Logs names and ID's of all active campaigns. * Note the use of paging tokens to retrieve the whole list. */functionlistActiveCampaigns(){constadvertiserId='1234567';// Replace with your advertiser ID.letresult;letpageToken;try{do{result=DisplayVideo.Advertisers.Campaigns.list(advertiserId,{'filter':'entityStatus="ENTITY_STATUS_ACTIVE"','pageToken':pageToken});if(result.campaigns){for(leti=0;i < result.campaigns.length;i++){constcampaign=result.campaigns[i];console.log('Found campaign with ID %s and name "%s".',campaign.campaignId,campaign.displayName);}}pageToken=result.nextPageToken;}while(pageToken);}catch(e){// TODO (Developer) - Handle exceptionconsole.log('Failed with error: %s',e.error);}}
Update the display name of a line item
This sample updates the display name of a line item
/** * Updates the display name of a line item */functionupdateLineItemName(){constadvertiserId='1234567';// Replace with your advertiser ID.constlineItemId='123456789';//Replace with your line item ID.constupdateMask="displayName";constlineItemDef={displayName:'New Line Item Name (updated from Apps Script!)'};try{constlineItem=DisplayVideo.Advertisers.LineItems.patch(lineItemDef,advertiserId,lineItemId,{updateMask:updateMask});}catch(e){// TODO (Developer) - Handle exceptionconsole.log('Failed with error: %s',e.error);}}
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Display & Video 360 Service\n\nThe Display \\& Video 360 (DV360) service lets you use the\n[DV360 API](/display-video)\nin Apps Script. This API provides programmatic access to the Display \\& Video API.\n| **Note:** This is an advanced service that must be [enabled before use](/apps-script/guides/services/advanced).\n\nReference\n---------\n\nFor detailed information on this service, see the\n[reference documentation](/display-video/api/reference/rest) for the\nDV360 API. Like all advanced services in Apps\nScript, the DV360 service uses the same objects, methods, and\nparameters as the public API. For more information, see [How method signatures are determined](/apps-script/guides/services/advanced#how_method_signatures_are_determined).\n\nTo report issues and find other support, see the\n[DV360 support guide](/display-video/api/support).\n\nSample code\n-----------\n\nThe following sample code uses\n[version 4](/display-video/api/reference/rest/v4) of the API.\n\n### Get a list of partners\n\nThis sample logs all of the partners available in the account. \nadvanced/displayvideo.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/displayvideo.gs) \n\n```javascript\n/**\n * Logs all of the partners available in the account.\n */\nfunction listPartners() {\n // Retrieve the list of available partners\n try {\n const partners = DisplayVideo.Partners.list();\n\n if (partners.partners) {\n // Print out the ID and name of each\n for (let i = 0; i \u003c partners.partners.length; i++) {\n const partner = partners.partners[i];\n console.log('Found partner with ID %s and name \"%s\".',\n partner.partnerId, partner.displayName);\n }\n }\n } catch (e) {\n // TODO (Developer) - Handle exception\n console.log('Failed with error: %s', e.error);\n }\n}\n```\n\n### Get a list of active campaigns\n\nThis sample logs names and IDs of all active campaigns. Note the use of\npaging tokens to retrieve the whole list. \nadvanced/displayvideo.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/displayvideo.gs) \n\n```javascript\n/**\n * Logs names and ID's of all active campaigns.\n * Note the use of paging tokens to retrieve the whole list.\n */\nfunction listActiveCampaigns() {\n const advertiserId = '1234567'; // Replace with your advertiser ID.\n let result;\n let pageToken;\n try {\n do {\n result = DisplayVideo.Advertisers.Campaigns.list(advertiserId, {\n 'filter': 'entityStatus=\"ENTITY_STATUS_ACTIVE\"',\n 'pageToken': pageToken\n });\n if (result.campaigns) {\n for (let i = 0; i \u003c result.campaigns.length; i++) {\n const campaign = result.campaigns[i];\n console.log('Found campaign with ID %s and name \"%s\".',\n campaign.campaignId, campaign.displayName);\n }\n }\n pageToken = result.nextPageToken;\n } while (pageToken);\n } catch (e) {\n // TODO (Developer) - Handle exception\n console.log('Failed with error: %s', e.error);\n }\n}\n```\n\n### Update the display name of a line item\n\nThis sample updates the display name of a line item \nadvanced/displayvideo.gs \n[View on GitHub](https://github.com/googleworkspace/apps-script-samples/blob/main/advanced/displayvideo.gs) \n\n```javascript\n/**\n * Updates the display name of a line item\n */\nfunction updateLineItemName() {\n const advertiserId = '1234567'; // Replace with your advertiser ID.\n const lineItemId = '123456789'; //Replace with your line item ID.\n const updateMask = \"displayName\";\n\n const lineItemDef = {displayName: 'New Line Item Name (updated from Apps Script!)'};\n\n try {\n const lineItem = DisplayVideo.Advertisers.LineItems\n .patch(lineItemDef, advertiserId, lineItemId, {updateMask:updateMask});\n\n\n } catch (e) {\n // TODO (Developer) - Handle exception\n console.log('Failed with error: %s', e.error);\n }\n}\n```"]]